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