Commit graph

14388 commits

Author SHA1 Message Date
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