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