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
Paul Davis
c95a9cd490
call Canvas::re_enter() at the end of a RegionCutDrag so that entered_regionview *might* be set
2014-08-17 20:44:58 -04:00
Paul Davis
199414f495
cut ops can start on automation tracks too
2014-08-17 20:44:53 -04:00
Paul Davis
020fc013a9
cut ops can start with the mouse pointer not over a region
2014-08-17 20:44:47 -04:00
Paul Davis
806f3f9f15
cut cursor follows grid
2014-08-17 20:44:42 -04:00
Ben Loftis
31ffc2aa85
fix thinko with split selections. also ignore follow_edits when we are splitting, because the playlist freeze and the newly added regions cause the playhead to jump to unexpected locations
2014-08-17 20:44:22 -04:00
Robin Gareus
a3bd4de11d
add --debug-symbols configure option.
...
This allows for --optimize --debug-symbols for profiling.
2014-08-17 20:44:15 -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
Paul Davis
9658096de3
make WINDOWS_KEY value propagate correctly into wscript files for use when generating key bindings
2014-08-17 20:43:28 -04:00
Robin Gareus
4eea756c5f
update callgrind script and add some doc.
2014-08-17 20:43:23 -04:00
Ben Loftis
9583faed27
xfade rects should only pop-up in Object mode, when they are focusable
2014-08-17 20:43:17 -04:00
Ben Loftis
6fa106d182
fix inconsistency in smart mode where it shows a trim cursor in the top half of the region edge, but a click is actually going to start a range. It is arguable that we _should_ allow trimming in the top half, but that is complicated. This change is small and makes it consistent for now
2014-08-17 20:43:12 -04:00
Ben Loftis
35333132a4
fix copy paste error in selection
2014-08-17 20:43:06 -04:00
Robin Gareus
ccd8c0af27
add signal generator modules to Dummy Backend.
2014-08-17 20:43:00 -04:00
Paul Davis
f246c98529
fix build after copy-n-paste/code change collision
2014-08-17 20:42:54 -04:00
Paul Davis
fca6419abf
some code shuffling to make sure that cut mode always operates at the mouse location, with (maybe) the right regions
2014-08-17 20:42:47 -04:00
Ben Loftis
54197293b5
remove leftover cruft from link-region-and-track removal
2014-08-17 20:42:42 -04:00
Ben Loftis
9aef2d74e3
remove all_group_active_button. if you want to operate on all tracks, choose select-all-tracks ( ctrl+t in the mnemonic bindings ). this is more explicit and allows safer use of the deselected-region-under-mouse operations
2014-08-17 20:42:33 -04:00
Paul Davis
e279a2c956
use an EditorCursor when dragging in cut mode to indicate cut position
2014-08-17 20:41:55 -04:00
Paul Davis
167a61ca34
add new variant of EditorCursor that creates an insensitive full-canvas-height line, and fix destructor leak
2014-08-17 20:41:45 -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
dd10318149
Use Canvas::re_enter() after changing mouse mode so we get the right cursor no matter what item we're over; fix return value for button press in cut mode; never change selection in cut mode
2014-08-17 20:41:33 -04:00
Paul Davis
04a439572b
tentative use of "c" as test binding for scissors/cut mouse mode (will possibly revert)
2014-08-17 20:41:27 -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
Paul Davis
d93526de76
add functionality for cut tool
2014-08-17 20:41:15 -04:00
Paul Davis
b18b3b850b
add basics of Cut mouse mode, no functionality yet. Icon images are still required
...
Conflicts:
gtk2_ardour/editor.cc
gtk2_ardour/editor_actions.cc
2014-08-17 20:41:07 -04:00
Robin Gareus
5ecfe1a0b9
update audio-export as used by video-export (disable soundcloud)
2014-08-17 20:39:45 -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
9b7d741477
repair ardour-button "fixed color mode"
2014-08-17 20:38:56 -04:00
Ben Loftis
2e3acae230
now that track and region selections are mutually exclusive, you need a separate action to select-all-tracks and select-all-regions. also, preserve region selection during a split, iff we are working on a region selection: only add the newly created regions, dont change anything else in the selection; leave that in control of the user
2014-08-17 20:38:04 -04:00
Robin Gareus
153aeb14fc
remove cruft.
...
periodic save is done with maybe_write_autosave()
2014-08-17 20:37:58 -04:00
Ben Loftis
37bece765d
Q and W jump between markers. this puts them right next to Tab which creates and deletes markers. numpad left/right arrows are an alternate action for this
2014-08-17 20:37:50 -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
Ben Loftis
f0d7b35bc7
new approach to selections which will help rationalize Split and similar functions. Object and Track selections are now mutually exclusive. a split will happen at (a) selection->regions (b) the intersection of edit_point and selection->tracks or (c) the region under the mouse, IFF nothing else is selected.
2014-08-17 20:37:37 -04:00
Ben Loftis
d4ca0151b4
further rationalization of the editor. after a split, ardour was switching the tool to object mode. this is the only place were ardour switched the tool for the user. that has been removed. Delete operation should not depend on the mouse mode, but rather the existence of selections. this solves the problem where you have selected regions in smart mode, but cant delete them because the mouse is in the top half (fange mode) of a track
2014-08-17 20:37:31 -04:00
Colin Fletcher
069f35e37e
Left-align label for post-export hook script entry.
2014-08-17 20:37:26 -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
Colin Fletcher
0c8d8fec47
Make tap tempo use g_get_monotonic_time(), and fix minimum BPM
...
gettimeofday() is not guaranteed to be monotonic: use
g_get_monotonic_time() instead.
Also, fix calculation of slowest tap tempo BPM so that the slowest tempo
which can be set by tapping is 10 BPM rather than 240.
2014-08-17 20:37:09 -04:00