Paul Davis [Tue, 8 Jul 2014 16:24:56 +0000 (12:24 -0400)]
Add PBD::get_suffix() for ripping file suffixes from paths
Paul Davis [Tue, 8 Jul 2014 04:53:06 +0000 (00:53 -0400)]
initial implementation of "bring all media into session folder". Incomplete but basically functional for audio files
Paul Davis [Tue, 8 Jul 2014 04:50:09 +0000 (00:50 -0400)]
add operator-= variants for PBD::Searchpath
Paul Davis [Tue, 8 Jul 2014 04:49:53 +0000 (00:49 -0400)]
add MD5 implementation to wscript
Paul Davis [Tue, 8 Jul 2014 04:49:33 +0000 (00:49 -0400)]
add cleaned up MD5 C++ implementation for general use
Paul Davis [Mon, 7 Jul 2014 20:27:39 +0000 (16:27 -0400)]
make WINDOWS_KEY value propagate correctly into wscript files for use when generating key bindings
Robin Gareus [Mon, 7 Jul 2014 22:22:40 +0000 (00:22 +0200)]
update callgrind script and add some doc.
Ben Loftis [Mon, 7 Jul 2014 20:34:20 +0000 (15:34 -0500)]
xfade rects should only pop-up in Object mode, when they are focusable
Ben Loftis [Mon, 7 Jul 2014 19:46:05 +0000 (14:46 -0500)]
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
Ben Loftis [Mon, 7 Jul 2014 19:15:25 +0000 (14:15 -0500)]
fix copy paste error in selection
Robin Gareus [Mon, 7 Jul 2014 14:23:23 +0000 (16:23 +0200)]
add signal generator modules to Dummy Backend.
Paul Davis [Mon, 7 Jul 2014 14:21:47 +0000 (10:21 -0400)]
fix build after copy-n-paste/code change collision
Paul Davis [Mon, 7 Jul 2014 14:13:19 +0000 (10:13 -0400)]
some code shuffling to make sure that cut mode always operates at the mouse location, with (maybe) the right regions
Ben Loftis [Mon, 7 Jul 2014 14:07:06 +0000 (09:07 -0500)]
remove leftover cruft from link-region-and-track removal
Ben Loftis [Sun, 6 Jul 2014 19:20:50 +0000 (14:20 -0500)]
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
Paul Davis [Mon, 7 Jul 2014 13:13:23 +0000 (09:13 -0400)]
add icons for cut mouse mode button and cut cursor (both need improving)
Paul Davis [Mon, 7 Jul 2014 12:26:37 +0000 (08:26 -0400)]
use an EditorCursor when dragging in cut mode to indicate cut position
Paul Davis [Mon, 7 Jul 2014 12:16:57 +0000 (08:16 -0400)]
add new variant of EditorCursor that creates an insensitive full-canvas-height line, and fix destructor leak
Paul Davis [Mon, 7 Jul 2014 12:00:20 +0000 (08:00 -0400)]
fix potential crash if certain Canvas methods are used before its window is realized
Paul Davis [Mon, 7 Jul 2014 11:54:41 +0000 (07:54 -0400)]
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
Paul Davis [Mon, 7 Jul 2014 11:53:54 +0000 (07:53 -0400)]
tentative use of "c" as test binding for scissors/cut mouse mode (will possibly revert)
Paul Davis [Mon, 7 Jul 2014 11:53:17 +0000 (07:53 -0400)]
Add Canvas::re_enter() which picks the current item again based on mouse pointer position and generates an enter event for it
Paul Davis [Mon, 7 Jul 2014 11:05:27 +0000 (07:05 -0400)]
add functionality for cut tool
Paul Davis [Mon, 7 Jul 2014 10:27:01 +0000 (06:27 -0400)]
add basics of Cut mouse mode, no functionality yet. Icon images are still required
Robin Gareus [Sun, 6 Jul 2014 21:45:39 +0000 (23:45 +0200)]
update audio-export as used by video-export (disable soundcloud)
Robin Gareus [Sun, 6 Jul 2014 21:44:48 +0000 (23:44 +0200)]
optimize SystemExec::output_interposer()
Robin Gareus [Sun, 6 Jul 2014 20:43:53 +0000 (22:43 +0200)]
fix timecode > 2^31 samples calculation on 32bit systems
Ben Loftis [Sun, 6 Jul 2014 18:53:56 +0000 (13:53 -0500)]
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
Robin Gareus [Sun, 6 Jul 2014 18:14:12 +0000 (20:14 +0200)]
add number-label at top of mixer-strip
Robin Gareus [Sun, 6 Jul 2014 17:55:49 +0000 (19:55 +0200)]
repair ardour-button "fixed color mode"
Robin Gareus [Sun, 6 Jul 2014 17:19:29 +0000 (19:19 +0200)]
show track color on mixer-strip
Ben Loftis [Sun, 6 Jul 2014 17:57:26 +0000 (12:57 -0500)]
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
Robin Gareus [Sun, 6 Jul 2014 12:06:13 +0000 (14:06 +0200)]
remove cruft.
periodic save is done with maybe_write_autosave()
Ben Loftis [Sun, 6 Jul 2014 12:02:03 +0000 (07:02 -0500)]
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
Robin Gareus [Sun, 6 Jul 2014 11:13:34 +0000 (13:13 +0200)]
change reasonable-synth to be sample accurate (note on/off)
at expense of slightly increased CPU load.
Ben Loftis [Sun, 6 Jul 2014 01:47:43 +0000 (20:47 -0500)]
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.
Ben Loftis [Sat, 5 Jul 2014 23:27:29 +0000 (18:27 -0500)]
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
Colin Fletcher [Thu, 3 Jul 2014 17:40:07 +0000 (18:40 +0100)]
Left-align label for post-export hook script entry.
Colin Fletcher [Thu, 3 Jul 2014 17:30:47 +0000 (18:30 +0100)]
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.
Colin Fletcher [Thu, 3 Jul 2014 17:25:35 +0000 (18:25 +0100)]
Report an error when post-export hook fails.
Colin Fletcher [Fri, 16 May 2014 17:50:30 +0000 (18:50 +0100)]
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.
Colin Fletcher [Wed, 12 Feb 2014 21:49:00 +0000 (21:49 +0000)]
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.
Colin Fletcher [Mon, 10 Feb 2014 21:14:59 +0000 (21:14 +0000)]
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.
Robin Gareus [Sat, 5 Jul 2014 18:53:22 +0000 (20:53 +0200)]
debug info to trace down "cannot rename temp session file" errors
..but actually, the real error may be concurrent
calls to Session::save_state()
Robin Gareus [Fri, 4 Jul 2014 13:50:34 +0000 (15:50 +0200)]
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.
Paul Davis [Fri, 4 Jul 2014 12:03:39 +0000 (08:03 -0400)]
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.
Robin Gareus [Fri, 4 Jul 2014 11:02:55 +0000 (13:02 +0200)]
disable latency-compensation preparations for now
Don't add delaylines to tracks by default just yet,
currently only sends are aligned with delaylines
Paul Davis [Fri, 4 Jul 2014 11:49:46 +0000 (07:49 -0400)]
rename the action that cycles through edit modes, since there are more than two
Paul Davis [Fri, 4 Jul 2014 11:49:26 +0000 (07:49 -0400)]
move location of menus file loading and call ActionManager::enable_accelerators() to get all actions setup for binding options
Paul Davis [Fri, 4 Jul 2014 11:48:41 +0000 (07:48 -0400)]
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
Paul Davis [Fri, 4 Jul 2014 11:36:49 +0000 (07:36 -0400)]
remove all accelerator declarations from ardour.menus.in, since they are about to be automatically registered for ALL actions
Paul Davis [Thu, 3 Jul 2014 23:43:28 +0000 (19:43 -0400)]
add new regions created by split to selection after operation is complete
Ben Loftis [Thu, 3 Jul 2014 22:50:14 +0000 (17:50 -0500)]
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
Paul Davis [Thu, 3 Jul 2014 19:48:20 +0000 (15:48 -0400)]
revert part of
0f1c7b1d7107 which broke lots of stuff based on region selection
Ben Loftis [Thu, 3 Jul 2014 17:49:59 +0000 (12:49 -0500)]
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)
Ben Loftis [Thu, 3 Jul 2014 17:25:35 +0000 (12:25 -0500)]
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
Paul Davis [Thu, 3 Jul 2014 14:00:12 +0000 (10:00 -0400)]
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.
Ben Loftis [Wed, 2 Jul 2014 22:34:49 +0000 (17:34 -0500)]
add a method to cancel a pending play_range. this is needed when we are modifying the range with keyboard commands.
Ben Loftis [Wed, 2 Jul 2014 21:56:30 +0000 (16:56 -0500)]
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
Robin Gareus [Wed, 2 Jul 2014 21:35:48 +0000 (23:35 +0200)]
unique filenames across all searched folders
Robin Gareus [Wed, 2 Jul 2014 18:26:13 +0000 (20:26 +0200)]
round A/V offset to video-frames.
Paul Davis [Wed, 2 Jul 2014 20:23:46 +0000 (16:23 -0400)]
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
Paul Davis [Wed, 2 Jul 2014 19:53:24 +0000 (15:53 -0400)]
simplify zooming, remove Editor::clamp_samples_per_pixel(), fix getting "stuck" at max and min zoom levels
Paul Davis [Wed, 2 Jul 2014 18:56:36 +0000 (14:56 -0400)]
remove unused "zoom range clock" from code as part of zoom simplifications
Paul Davis [Wed, 2 Jul 2014 16:54:41 +0000 (12:54 -0400)]
display key name when debugging keyboard/accel stuff
Paul Davis [Wed, 2 Jul 2014 16:54:20 +0000 (12:54 -0400)]
allow escape key to work
Ben Loftis [Wed, 2 Jul 2014 14:18:31 +0000 (09:18 -0500)]
remove implicit range. start-range and end-range work better. documentation changes coming soon
Ben Loftis [Tue, 1 Jul 2014 21:43:00 +0000 (16:43 -0500)]
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
Colin Fletcher [Tue, 1 Jul 2014 19:40:40 +0000 (20:40 +0100)]
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.
Colin Fletcher [Tue, 1 Jul 2014 18:33:21 +0000 (19:33 +0100)]
Ripple mode: remove debug output
Remove std::cerr output, and tidy up a couple of comments.
Paul Davis [Tue, 1 Jul 2014 19:11:09 +0000 (15:11 -0400)]
remove debug output
Paul Davis [Tue, 1 Jul 2014 18:36:58 +0000 (14:36 -0400)]
add partial support for mute automation (playback does not work, data is not recorded in the session)
Paul Davis [Tue, 1 Jul 2014 15:41:16 +0000 (11:41 -0400)]
give drop zone its own cursor-ability
Colin Fletcher [Tue, 1 Jul 2014 18:10:47 +0000 (19:10 +0100)]
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.
Colin Fletcher [Tue, 1 Jul 2014 17:46:13 +0000 (18:46 +0100)]
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.
Colin Fletcher [Tue, 1 Jul 2014 17:27:22 +0000 (18:27 +0100)]
Ripple mode: fix undo of paste
Fix undo of region paste operations in ripple mode.
Colin Fletcher [Tue, 1 Jul 2014 17:26:31 +0000 (18:26 +0100)]
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.
Paul Davis [Tue, 1 Jul 2014 13:46:18 +0000 (09:46 -0400)]
merge with master.
Manually resolved conflicts in import.cc and session.cc
Robin Gareus [Tue, 1 Jul 2014 12:52:35 +0000 (14:52 +0200)]
left-align all pref/option labels for consistency.
Paul Davis [Mon, 30 Jun 2014 23:18:27 +0000 (19:18 -0400)]
(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
Paul Davis [Mon, 30 Jun 2014 23:05:45 +0000 (19:05 -0400)]
move draggable playhead to editor tab of preferences
Robin Gareus [Mon, 30 Jun 2014 19:33:43 +0000 (21:33 +0200)]
remove cruft
Robin Gareus [Mon, 30 Jun 2014 18:51:46 +0000 (20:51 +0200)]
change default take-name
Paul Davis [Mon, 30 Jun 2014 20:32:38 +0000 (16:32 -0400)]
new UI config var to allow playhead to be optionally draggable (default is: yes, it can be dragged)
Paul Davis [Mon, 30 Jun 2014 20:32:01 +0000 (16:32 -0400)]
more extensive canvas debug message for canvas-enter-leave tracing
Paul Davis [Mon, 30 Jun 2014 20:31:31 +0000 (16:31 -0400)]
add event-insensitivity to the list of conditions that causes a container to NOT add its children to the list of items-at-point
Paul Davis [Mon, 30 Jun 2014 18:47:57 +0000 (14:47 -0400)]
make canvas drop sensitive to scroll events
Paul Davis [Mon, 30 Jun 2014 17:58:39 +0000 (13:58 -0400)]
context click over a trim handle is semantically equivalent to a context click on the xfade
Paul Davis [Mon, 30 Jun 2014 17:54:19 +0000 (13:54 -0400)]
new region base color
Paul Davis [Mon, 30 Jun 2014 16:31:01 +0000 (12:31 -0400)]
ensure that Editor::entered_track is reset during session deletion to avoid a crash when we explicitly unset it elsewhere
Robin Gareus [Mon, 30 Jun 2014 17:01:28 +0000 (19:01 +0200)]
fix
bae86a2d - retain default values
set element values before calling update()
Robin Gareus [Mon, 30 Jun 2014 16:25:11 +0000 (18:25 +0200)]
Disallow empty names for Groups, automatically enumerate them
Paul Davis [Mon, 30 Jun 2014 15:16:18 +0000 (11:16 -0400)]
move Opaque and Mute into region Gain submenus (both main menu bar and context menus)
Paul Davis [Mon, 30 Jun 2014 15:02:23 +0000 (11:02 -0400)]
protect use of iterators across routeUI selection when operations change the selection (e.g. deletion)
Paul Davis [Mon, 30 Jun 2014 14:57:59 +0000 (10:57 -0400)]
change default timeline item gradient depth and waveform gradient depth
Paul Davis [Mon, 30 Jun 2014 14:47:49 +0000 (10:47 -0400)]
always take verbose cursor clock mode from primary clock (finally!)
Paul Davis [Mon, 30 Jun 2014 14:43:29 +0000 (10:43 -0400)]
new default color for inactive group tab
Paul Davis [Mon, 30 Jun 2014 14:39:41 +0000 (10:39 -0400)]
verbose cursor text is always outlined
Paul Davis [Mon, 30 Jun 2014 14:39:26 +0000 (10:39 -0400)]
allow Canvas::Text to have outline drawn in a contrasting color (based on actual color)
Paul Davis [Mon, 30 Jun 2014 14:38:45 +0000 (10:38 -0400)]
move contrasting_text_color() into ArdourCanvas