summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-09-22Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)John Emmas
2016-09-21PortManager::silence() should not clear data in AsyncMIDIPortsPaul Davis
This data was generated asynchronously and is not required to be "silenced" the way that session data would be. Compare also to the similar tests for sync-related MIDI ports
2016-09-21gain controls are supposed to be "gain-like"Paul Davis
2016-09-21Update Archive GUI: expose audio-encoding, set progress textRobin Gareus
2016-09-21report archive encoding progressRobin Gareus
2016-09-21GUI updates for archiving sessionsRobin Gareus
2016-09-21Add option to flac encode audio when archivingRobin Gareus
2016-09-21add a static flag to force writing LV2 stateRobin Gareus
This is needed for save-as and archiving, LV2 state may not be saved otherwise if lilv_state_equals() returns true. Also if thestate is saved as part of save-as or archiving or template, the state-version did increase. Upcoming normal save will reference a plugin state that does not exist in the current session bundle.
2016-09-21add API to change FileSource path in-placeRobin Gareus
This allows to retain IDs and References of a FileSource, while changing the actual file under the hood (e.g. from .wav to .flac)
2016-09-21add a SndFileSource c'tor to create .flac encoded file for archivingRobin Gareus
2016-09-21fix LV2 State Flags for Atom:PathRobin Gareus
state-restore does not set the same flag, so lilv_state_equals() returns false even for identical states and a new state is saved regardless actual fix also depends on http://dev.drobilla.net/ticket/1145
2016-09-20add missing filesRobin Gareus
2016-09-20GUI support to archive sessionRobin Gareus
2016-09-20initial support for archiving sessionsRobin Gareus
2016-09-20Restore ARDOUR::MuteControl state, fixes bug #7025Tim Mayberry
This should be the final part of a fix for bug #7025, which means the id property of PBD::Controllable is restored and a new id is not generated at first save. I'm assuming this was a typo, comparing with the wrong name meant the state of the MuteControl was never being restored. This also fixes restoring bindings associated MuteControl instances.
2016-09-20Fully restore ARDOUR::SoloSafeControl stateTim Mayberry
This is part of a fix for bug #7025 which means the id property of PBD::Controllable is restored and a new id is not generated at first save.
2016-09-20Fully restore ARDOUR::SoloIsolateControl stateTim Mayberry
This is part of a fix for bug #7025 which means the id property of PBD::Controllable is restored and a new id is not generated at first save.
2016-09-20Fully restore ARDOUR::SoloControl stateTim Mayberry
This is part of a fix for bug #7025 which means the id property of PBD::Controllable is restored and a new id is not generated at first save. This also fixes restoring bindings associated SoloControl instances, which is a bit surprising hasn't been noticed/reported.
2016-09-19add API to create [tar.xz] archivesRobin Gareus
2016-09-19PBD::canonical_path will no longer throw so change testTim Mayberry
2016-09-19Move PBD::canonical_path to pbd/file_utils.h/cc and reimplement for WindowsTim Mayberry
This fixes the libpbd testCanonicalPathUTF8 and libardour open_session_utf8_path unit tests You can now have Sessions with localized names containing characters that aren't in the system codepage on Windows. It also fixes the issue where a Session would not open when it was moved into a path with characters that aren't in the system codepage. The only use case for calling canonical_path/realpath on the session path AFAICT is for resolving relative paths that are passed via the command line/terminal. I'm doubtful that works correctly on Windows because of character encoding issues with the current API we use for that(not glib), so it is slightly ironic that this issue was caused by an incorrect implementation of a function that is not really necessary on Windows at this point in time.
2016-09-19Add test to create new Sessions with localized names and reopen themTim Mayberry
This test is successful on Linux but fails on Windows currently because of the incorrect realpath implementation for windows in pbd/path_expand.cc
2016-09-19Copy UTF-8 test strings from libpbd tests into libardour test utilsTim Mayberry
Ideally these would be shared.
2016-09-19Add test for PBD::canonical_path on Windows using utf8 stringsTim Mayberry
This currently fails because the windows only realpath implementation in pbd/pathexpand.cc, which is called from PBD::canonical_path to resolve the path uses Glib::locale_from/to_utf8. As I demonstrated in the testOpenFileUTF8Filename test case Glib::locale_from/to_utf8 are not the correct functions to use for this use case as it converts to/from utf-8 to the locale's current character encoding. On Windows this is most often a single byte encoding such as Windows-1252 and conversion will fail if the path contains any characters that are not in system codepage.
2016-09-19Give the Windows MMTimer test a better chance of passingTim Mayberry
The default scheduling on windows seems fairly erratic or is at least in the VM that I'm running these tests on, so increase the timing slack a bit so the test has a better chance of passing. It is still quite easy for it to fail though, especially if you for instance manipulate the terminal window somehow while running the tests but it does not really matter in any case as this test serves its purpose in testing the PBD::MMTimers API.
2016-09-18update a-plugins to use official lv2plug.in URIRobin Gareus
2016-09-18add support for LV2 #coarseBlockLength and #enabledRobin Gareus
this deprecated previously non-standard extensions
2016-09-18fix another crash at exit #7033Robin Gareus
Don't construct the bindings editor only to disconnect its signals
2016-09-18update script to follow libardour API changeRobin Gareus
2016-09-18ensure that Lua DSP scripts are configured (even with 0 channels)Robin Gareus
This fixes an issue with dsp_configure not being when there are only MIDI signals at the given insertion point.
2016-09-18match ID of Inline Scope following 2b7a89eRobin Gareus
2016-09-17Save changes when toggling checkboxes in ExportDialogTim Mayberry
I used the Widget::on_hide method in the ExportFileDialog to defer the saving of changes in state of the analysis and soundcloud-upload checkboxes as it was not possible to save the format xml state directly from the ToggleButton::toggled() signal as it created a recursive loop and also to prevent saving the state more than once. Even though the ExportProfileManager::FormatListChanged signal is no longer emitted when saving format state and the crash no longer occurs without this change. I think it is worth saving explicitily from in the toggle callbacks to reduce the complexity of understanding what is taking place and when even if it is less efficient. There is definitely more opportunity for refactoring and redesign.
2016-09-17Fix crash when ExportDialog is hiddenTim Mayberry
The issue is that when ExportDialog is destroyed ExportFileNotebook::FilePage::on_hide is called which in turn calls ExportProfileManager::save_format_to_disk() in order to save changes to the analysis and soundcloud upload checkboxes. This then causes the ExportProfileManager::FormatListChanged signal to be emitted, which in all other cases is emitted when the format list is modified so that the GUI can rebuild the format selector menu in ExportFormatSelector::update_format_list when a format is added or removed. The problem when doing this in the destructor is that some of the widgets have already been destroyed, specifically the issue was in ExportFileNotebook::update_soundcloud_upload trying to access the soundcloud_selector member that had already had its destructor called. As it is not necessary to call this signal in the first place and it just causes unnecessary GUI updates remove the signal emission.
2016-09-17Fix indentation in ARDOUR::ExportProfileManager source fileTim Mayberry
2016-09-17VST threading: prevent concurrent effSetChunk and process()Robin Gareus
This is a potential fix for unreliable preset load/restore. (http://mixbus.harrisonconsoles.com/forum/thread-1970-post-21486.html#pid21486) Since a Glib Mutex can't be copy-constructed an explicit copy c'tor is needed.
2016-09-16NO-OP: whitespaceRobin Gareus
2016-09-16re-do previous commitRobin Gareus
* do not include _by_name() API. Port names are locale dependent * proper whitespace (after comma, before bracket) and styleguide
2016-09-16Revert "Add convenience Lua bindings to access plugin controls"Robin Gareus
This reverts commit faf44386460b6cdda0aa249eb138e8fd82700194.
2016-09-16Add convenience Lua bindings to access plugin controlsThomas Brand
2016-09-16remove cruft - don't pollute global namespaceRobin Gareus
* remove unused functions * don't globally export C functions that are only used locally
2016-09-16Allow to query HTTP headersRobin Gareus
2016-09-15 Modify our MSVC project to use the newly introduced 'libarchive' library ↵John Emmas
(libardour)
2016-09-15Modify our MSVC project to use the newly introduced 'libarchive' library ↵John Emmas
(libpbd)
2016-09-15Skip pin-management for MB channelstrip pluginsRobin Gareus
2016-09-15Do not delete selected MIDI notes while dragging. (See #6602)Guido Aulisi
This is not caused by commit_reversible_command, but because NoteDrag::total_dx calls Evoral::Note<Evoral::Beats>::time() with invalid MIDI note (deleted).
2016-09-15Fix passing ctrl-output data to lua inline display threadRobin Gareus
2016-09-15Fix links to manual in windows installerRobin Gareus
2016-09-15Send/show error message if g_stat fails in Session::cleanup_sourcesTim Mayberry
let the user/developer know if this does occur rather than just silently skipping the file. Fix some whitespace issues while we are changing indentation.
2016-09-15Use g_strerror() instead of ::strerror() in Session::cleanup_sourcesTim Mayberry
The error is generated by a glib function so use the glib version of this function(it also consistent with usage in the rest the file).
2016-09-15Use g_rename() instead of ::rename() in Session::cleanup_sourcesTim Mayberry
The paths are in UTF-8 encoding and ::rename expects paths in the system codepage encoding so ::rename will fail for any paths that contain characters that aren't in the system codepage. This fixes Flush Wastebasket on Windows where paths contain characters that aren't in the system codepage(usually most non-ascii characters).