Commit graph

14717 commits

Author SHA1 Message Date
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
Colin Fletcher
62a2701e20 Make 'Tap tempo' set the bpm to a running average
Keep a running average of the interval between clicks on the 'Tap tempo'
button, and use that average to set the bpm value.
2014-08-17 20:37:03 -04:00
Colin Fletcher
71c2d2326b Add 'Tap tempo' button to 'Edit tempo' dialogue
Add a 'Tap tempo' button to the 'Edit tempo' dialogue box that uses
gettimeofday() to time the interval between successive clicks and sets the
beats-per-minute appropriately.
2014-08-17 20:36:58 -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
3e52b4ffba purge states of Audio-backends that are N/A
fixes crashes/assert() when using different builds while
sharing ardour.rc with n/a engine backends marked active.
2014-08-17 20:36:46 -04:00
Paul Davis
7fbfdf910c fix up various keybindings added/modified by Ben so that they work.
There is still the mystery of why we can specify Return and KP_Return but not Tab.
2014-08-17 20:36:38 -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
Paul Davis
8ccc74b279 rename the action that cycles through edit modes, since there are more than two 2014-08-17 20:36:25 -04:00
Paul Davis
e14d06c63a remove all accelerator declarations from ardour.menus.in, since they are about to be automatically registered for ALL actions 2014-08-17 20:36:02 -04:00
Paul Davis
e33f682577 add new regions created by split to selection after operation is complete 2014-08-17 20:35:57 -04:00
Ben Loftis
a15ab33edf lots of keybinding changes. added a new action to allow removing markers at the playhead location. numpad now allows you to access marks higher than 9. to locate to a marker, use the numpad decimal to start and end the operation - for example press .19. to locate to marker 19. also added alternate bindings for redo, delete, and several other alternates that will be needed in subsequent commits. tab is not working, using either Tab or nabla in the binding.in file
Conflicts:
	gtk2_ardour/ardour_ui.cc
2014-08-17 20:35:46 -04:00
Paul Davis
3705b6d099 revert part of 0f1c7b1d71 which broke lots of stuff based on region selection 2014-08-17 20:34:59 -04:00
Ben Loftis
2b726333d1 if a Range end is trimmed, in follow-edits mode, locate to the range end so it can be auditioned. (same as trimming a region end) 2014-08-17 20:34:52 -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
Ben Loftis
4dca4a7f7e start-range and finish-range should graphically show the range being created. also add bindings for comma and period in addition to existing bindings which require a numpad. the old ones are now alternates. all primary functionality should appear on the qwerrty, and the numpad should be considered an ergonomic redundant alternative if you have one 2014-08-17 20:34:30 -04:00
Robin Gareus
1520677c4b unique filenames across all searched folders 2014-08-17 20:34:25 -04:00
Robin Gareus
678fd635a1 round A/V offset to video-frames. 2014-08-17 20:34:19 -04:00
Paul Davis
30d2ed74c3 reinstate same logic, slightly differently implementedm, for choosing range/object mode when pointer is in smart mode and in a track but not in a region 2014-08-17 20:34:12 -04:00
Paul Davis
fbad093b59 simplify zooming, remove Editor::clamp_samples_per_pixel(), fix getting "stuck" at max and min zoom levels 2014-08-17 20:34:07 -04:00
Paul Davis
0ba6999b86 remove unused "zoom range clock" from code as part of zoom simplifications 2014-08-17 20:34:02 -04:00