db60bc86b8
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-07-06 12:57:36 -05:00
7d13a49761
remove cruft.
...
periodic save is done with maybe_write_autosave()
2014-07-06 14:43:07 +02:00
c771668f9a
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-07-06 07:02:11 -05:00
36135baaac
change reasonable-synth to be sample accurate (note on/off)
...
at expense of slightly increased CPU load.
2014-07-06 13:24:53 +02:00
0b38d65dd0
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-07-05 20:47:43 -05:00
62c3638a42
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-07-05 18:27:38 -05:00
b091fb8ee7
Left-align label for post-export hook script entry.
2014-07-05 21:47:49 +01:00
c03034b7d6
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-07-05 21:47:49 +01:00
5edca6c96e
Report an error when post-export hook fails.
2014-07-05 21:47:49 +01:00
7815aa1e89
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-07-05 21:47:49 +01:00
61d413ada4
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-07-05 21:47:49 +01:00
e0eaea6471
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-07-05 21:47:48 +01:00
c9b0f0fcb7
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-07-05 20:53:22 +02:00
63d81d2419
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-07-04 15:52:14 +02:00
a86c98df7a
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-07-04 08:03:51 -04:00
8fa0f7bc0b
disable latency-compensation preparations for now
...
Don't add delaylines to tracks by default just yet,
currently only sends are aligned with delaylines
2014-07-04 13:57:35 +02:00
e083deff83
rename the action that cycles through edit modes, since there are more than two
2014-07-04 07:49:46 -04:00
b64634e32e
move location of menus file loading and call ActionManager::enable_accelerators() to get all actions setup for binding options
2014-07-04 07:49:26 -04:00
08b1a9d520
add ActionManager::enable_accelerators(), which takes all known Actions and registers them via the UIManager as accelerators.
...
This makes them available for use with key bindings/shortcuts/accelerators even if they have no proxy widget
2014-07-04 07:48:41 -04:00
a2c7fe03ef
remove all accelerator declarations from ardour.menus.in, since they are about to be automatically registered for ALL actions
2014-07-04 07:36:49 -04:00
ba8898bd5f
add new regions created by split to selection after operation is complete
2014-07-03 19:43:35 -04:00
555a5d6348
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
2014-07-03 17:50:14 -05:00
ba33c6dab6
revert part of 0f1c7b1d71
which broke lots of stuff based on region selection
2014-07-03 15:51:06 -04:00
80d1631aa3
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-07-03 12:56:33 -05:00
043b76569d
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-07-03 12:56:33 -05:00
53a5f5d8ca
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-07-03 10:00:12 -04:00
a1c8e67e50
add a method to cancel a pending play_range. this is needed when we are modifying the range with keyboard commands.
2014-07-02 17:35:38 -05:00
0f1c7b1d71
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-07-02 17:35:37 -05:00
007664c3db
unique filenames across all searched folders
2014-07-02 23:36:06 +02:00
77e716943f
round A/V offset to video-frames.
2014-07-02 23:36:06 +02:00
3c2c048f40
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-07-02 16:23:46 -04:00
3dbf37eab7
simplify zooming, remove Editor::clamp_samples_per_pixel(), fix getting "stuck" at max and min zoom levels
2014-07-02 15:53:24 -04:00
4c79d35838
remove unused "zoom range clock" from code as part of zoom simplifications
2014-07-02 14:56:36 -04:00
976f006cc0
display key name when debugging keyboard/accel stuff
2014-07-02 12:54:49 -04:00
bc3559925a
allow escape key to work
2014-07-02 12:54:49 -04:00
3047919833
remove implicit range. start-range and end-range work better. documentation changes coming soon
2014-07-02 09:18:31 -05:00
190542c1d0
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-07-01 16:43:00 -05:00
960e5a3c7c
Ripple mode: ripple all after start of first selected region
...
Ripple drags should affect all regions which start at or after the
beginning of the first selected region, not just those which start after
its end.
2014-07-01 20:43:34 +01:00
264c62eb26
Ripple mode: remove debug output
...
Remove std::cerr output, and tidy up a couple of comments.
2014-07-01 20:43:34 +01:00
3f112f17c0
remove debug output
2014-07-01 15:11:09 -04:00
0a87bbc37b
add partial support for mute automation (playback does not work, data is not recorded in the session)
2014-07-01 14:37:05 -04:00
e3a6ea0273
give drop zone its own cursor-ability
2014-07-01 14:37:05 -04:00
e5e12acc56
Merge branch 'ripple-mode-cc' into cairocanvas
...
Fix up merge conflicts in
gtk2_ardour/editor_mouse.cc
gtk2_ardour/editor_ops.cc
Also fix up compile errors.
2014-07-01 19:10:47 +01:00
da65f3778c
Fixes for ripple mode drag
...
Make undo of ripple mode dragging work a bit better, and hopefully prevent
rippled regions from jumping about when being dragged.
2014-07-01 18:46:13 +01:00
cabd3783fe
Ripple mode: fix undo of paste
...
Fix undo of region paste operations in ripple mode.
2014-07-01 18:38:14 +01:00
83ae6beca5
Remove unused code
...
This code was changed to implement ripple mode, but meanwhile it was
removed altogether in cairocanvas. Remove it here too to simplify merging.
2014-07-01 18:38:13 +01:00
23e7cf1019
merge with master.
...
Manually resolved conflicts in import.cc and session.cc
2014-07-01 09:46:18 -04:00
4244ea6546
left-align all pref/option labels for consistency.
2014-07-01 14:52:35 +02:00
b47c20783d
(hopefully) fix smart-mode breakage of xfade operations
...
We needed to set the selected regionview from a click when clicking on xfade items, but I also removed duplicate logic for some similar items
2014-06-30 19:18:34 -04:00
dff73d34d9
move draggable playhead to editor tab of preferences
2014-06-30 19:18:34 -04:00