Commit graph

7232 commits

Author SHA1 Message Date
Paul Davis
1edeaf3395 add Gtkmm2ext::Keyboard::reset_bindings() 2014-08-17 21:01:15 -04:00
Paul Davis
81888a63ce add libardour infrastructure for "fade range" edit operation 2014-08-17 21:00:50 -04:00
Paul Davis
edd95566fd do not call basename_nosuffix() before using matching_unsuffixed_filename_exists_in() because the latter does that call itself.
As the code used to be, if we are testing for a candidate filename of aaa.bbb.ccc, the call strips .ccc and matching_... strips .bbb
resulting in a match with aaa, which is not intended at all.
2014-08-17 21:00:44 -04:00
Paul Davis
e614f1f7c2 add std::string variant of set_size_request_to_display_given_string() 2014-08-17 20:50:07 -04:00
Paul Davis
fc69f36063 make sure that copy constructors and operator= for ControlList pass along the _interpolation value 2014-08-17 20:48:32 -04:00
Paul Davis
9ac7b636a5 make AutomationList::operator==() private and abort() as its core, because it should never be called/used.
Also make AutomationList::operator=() use ControlList::operator=() rather than try to reimplement it
2014-08-17 20:48:27 -04:00
Paul Davis
b1fe57e4c5 remove debug output 2014-08-17 20:46:14 -04:00
Paul Davis
6ea7beb56f fix crash initiated by never configuring track write sources when reloading a session, caused by earlier commits to avoid unnecessary write source resets 2014-08-17 20:46:08 -04:00
Paul Davis
57d0aa4354 add mutex to prevent concurrent session state saves.
Why wasn't this done 10 years ago?
2014-08-17 20:45:19 -04:00
Paul Davis
a0fdeed441 do not attempt to save undo history if it is empty, and do not do any part of history save if we're not going to write a new file 2014-08-17 20:45:13 -04:00
Paul Davis
a097b65db5 don't save state when removing sources during session loading (though this should no longer happen) 2014-08-17 20:45:08 -04:00
Paul Davis
d18e1fbe1c only reset AudioDiskstream write sources if the I/O configuration changed. Do not do this for connection changes etc. 2014-08-17 20:45:03 -04:00
Robin Gareus
172774c76d Dummy Backend: optimize random-number implementation 2014-08-17 20:44:11 -04:00
Robin Gareus
2e63956536 fix and optimize DummyBackend generators
* use Wavetable for sine
* lock generator (concurrency issue)
* always initialize variables
2014-08-17 20:44:06 -04:00
Paul Davis
9e18119c86 when merging external source files into session folder, if a collision occurs, use the original file suffix in conjunction with md5 hash 2014-08-17 20:44:01 -04:00
Paul Davis
226fd3e1b7 Add PBD::get_suffix() for ripping file suffixes from paths 2014-08-17 20:43:55 -04:00
Paul Davis
3b0ce4038e initial implementation of "bring all media into session folder". Incomplete but basically functional for audio files 2014-08-17 20:43:49 -04:00
Paul Davis
f5ac8d22fc add operator-= variants for PBD::Searchpath 2014-08-17 20:43:42 -04:00
Paul Davis
9537555f59 add MD5 implementation to wscript 2014-08-17 20:43:37 -04:00
Paul Davis
deb6c227e7 add cleaned up MD5 C++ implementation for general use 2014-08-17 20:43:32 -04:00
Robin Gareus
ccd8c0af27 add signal generator modules to Dummy Backend. 2014-08-17 20:43:00 -04:00
Paul Davis
ef849bec91 fix potential crash if certain Canvas methods are used before its window is realized 2014-08-17 20:41:38 -04:00
Paul Davis
207e90adb1 Add Canvas::re_enter() which picks the current item again based on mouse pointer position and generates an enter event for it 2014-08-17 20:41:20 -04:00
Robin Gareus
eb3e3fe22f fix timecode > 2^31 samples calculation on 32bit systems 2014-08-17 20:39:30 -04:00
Ben Loftis
2db9d6bc19 remove some cruft with previous commits. remove option link-region-and-track-selection since they are now exclusive, and rename select-all-regions to select-all-objects to match the implementation 2014-08-17 20:39:24 -04:00
Robin Gareus
153aeb14fc remove cruft.
periodic save is done with maybe_write_autosave()
2014-08-17 20:37:58 -04:00
Robin Gareus
b6d2944218 change reasonable-synth to be sample accurate (note on/off)
at expense of slightly increased CPU load.
2014-08-17 20:37:43 -04:00
Colin Fletcher
a8afdaad2b Make $PATH search in SystemExec actually work
Make searching of $PATH work when a SystemExec  is created from a
command-line, by making sure that argv[0] is set to the discovered path.
2014-08-17 20:37:21 -04:00
Colin Fletcher
69972a14f8 Report an error when post-export hook fails. 2014-08-17 20:37:16 -04:00
Robin Gareus
1982873b19 debug info to trace down "cannot rename temp session file" errors
..but actually, the real error may be concurrent
calls to Session::save_state()
2014-08-17 20:36:53 -04:00
Robin Gareus
3702b62c18 disable latency-compensation preparations for now
Don't add delaylines to tracks by default just yet,
currently only sends are aligned with delaylines
2014-08-17 20:36:30 -04:00
Ben Loftis
2be8f11a3e fix the naming and behavior of always-play-range to match the button, which is follow-edits. when you select a range, the playhead should jump to the start of the range and begin to play the selection. BUT (unlike previous implementation) if the user wants to relocate the playhead, then that should be allowed. The user should always remain in charge of the playhead location. NOTE: your previous config setting will be invalidated. You must re-save a session to overwrite with the new config variable 2014-08-17 20:34:46 -04:00
Paul Davis
390869c0d9 actually do something in WaveView::region_resized() which is called whenever the region is resized; implement WaveView::set_region_start() which could be used by an xfade editor etc. 2014-08-17 20:34:41 -04:00
Ben Loftis
99d06a10ec add a method to cancel a pending play_range. this is needed when we are modifying the range with keyboard commands. 2014-08-17 20:34:35 -04:00
Robin Gareus
1520677c4b unique filenames across all searched folders 2014-08-17 20:34:25 -04:00
Ben Loftis
fa2f8876ea splice mode is undefined, undocumented, and buggy. ripple does most of what we want. remove splice for now. leave code because it may be revived later 2014-08-17 20:33:04 -04:00
Paul Davis
11bc9aa50d remove debug output 2014-08-17 20:32:18 -04:00
Paul Davis
c0118c76a7 add partial support for mute automation (playback does not work, data is not recorded in the session) 2014-08-17 20:32:13 -04:00
Robin Gareus
7d4325b63d remove cruft 2014-08-17 20:29:42 -04:00
Robin Gareus
f3d93ddf98 change default take-name 2014-08-17 20:29:37 -04:00
Paul Davis
3e85ec6ae8 more extensive canvas debug message for canvas-enter-leave tracing 2014-08-17 20:02:49 -04:00
Paul Davis
d994350760 add event-insensitivity to the list of conditions that causes a container to NOT add its children to the list of items-at-point 2014-08-17 20:02:43 -04:00
Robin Gareus
d0a4e1a35a Disallow empty names for Groups, automatically enumerate them 2014-08-17 20:01:42 -04:00
Paul Davis
a647755bdc verbose cursor text is always outlined 2014-08-17 19:59:51 -04:00
Paul Davis
3ceb01b331 allow Canvas::Text to have outline drawn in a contrasting color (based on actual color) 2014-08-17 19:59:43 -04:00
Paul Davis
b4aba271f4 move contrasting_text_color() into ArdourCanvas 2014-08-17 19:59:38 -04:00
Paul Davis
74a5737b7c invisible items/containers should not add their children to "items-at-point" 2014-08-17 19:58:14 -04:00
Paul Davis
861a22db4c additional DEBUG_TRACE message for canvas current item selection 2014-08-17 19:58:05 -04:00
Robin Gareus
2d9956b8ec clean up after monitoring-section on session close 2014-08-17 19:57:59 -04:00
Robin Gareus
660165f6c4 fix issue with track-deletion when the monitoring section is used. 2014-08-17 19:57:54 -04:00