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
Paul Davis [Mon, 30 Jun 2014 14:38:03 +0000 (10:38 -0400)]
make verbose cursor respond dynamically to theme changes
Paul Davis [Mon, 30 Jun 2014 14:14:06 +0000 (10:14 -0400)]
make inactive group tab color be themeable and update it dynamically
Paul Davis [Mon, 30 Jun 2014 13:20:26 +0000 (09:20 -0400)]
remove canvas cursor debug output
Paul Davis [Mon, 30 Jun 2014 13:17:03 +0000 (09:17 -0400)]
use Editor::effective_mouse_mode() inside Editor::button_selection(); clean up special-case of fade in/out handles and mouse mode
Paul Davis [Mon, 30 Jun 2014 12:32:18 +0000 (08:32 -0400)]
invisible items/containers should not add their children to "items-at-point"
Paul Davis [Mon, 30 Jun 2014 12:31:20 +0000 (08:31 -0400)]
additional DEBUG_TRACE message for canvas current item selection
Robin Gareus [Mon, 30 Jun 2014 02:04:35 +0000 (04:04 +0200)]
clean up after monitoring-section on session close
Robin Gareus [Mon, 30 Jun 2014 01:31:58 +0000 (03:31 +0200)]
fix issue with track-deletion when the monitoring section is used.
Robin Gareus [Sun, 29 Jun 2014 19:19:04 +0000 (21:19 +0200)]
update ARD - allow to release it as standalone tool.
see https://github.com/x42/alsa_request_device
Robin Gareus [Sun, 29 Jun 2014 12:31:45 +0000 (14:31 +0200)]
re-arrange tabs in Session > Properties dialog (Misc is last)
Robin Gareus [Sun, 29 Jun 2014 13:45:55 +0000 (15:45 +0200)]
add 'save defaults' option to properties dialog
Robin Gareus [Sun, 29 Jun 2014 13:45:34 +0000 (15:45 +0200)]
add a generic Option Editor Component for stateless widgets
Robin Gareus [Sun, 29 Jun 2014 13:45:08 +0000 (15:45 +0200)]
allow to load/save default session-properties
John Emmas [Sun, 29 Jun 2014 12:56:41 +0000 (13:56 +0100)]
Change some declarations from 'struct' to 'class' (and vice-versa)
Robin Gareus [Sun, 29 Jun 2014 00:52:56 +0000 (02:52 +0200)]
suspend route redisplay for (rec-en, solo, mute and monitor) batch changes
Robin Gareus [Sat, 28 Jun 2014 21:22:15 +0000 (23:22 +0200)]
add RAII DisplaySuspender
Robin Gareus [Sat, 28 Jun 2014 19:45:52 +0000 (21:45 +0200)]
use a hash-table to cache gui properties
Robin Gareus [Sat, 28 Jun 2014 19:36:13 +0000 (21:36 +0200)]
use state Session::StateProtector
Robin Gareus [Sat, 28 Jun 2014 19:27:36 +0000 (21:27 +0200)]
add Session::StateProtector
temp. disable save during batch updates, save once at
the end.
Robin Gareus [Sat, 28 Jun 2014 19:57:04 +0000 (21:57 +0200)]
consolidate session_dirs: use Searchpath instead of custom code
Robin Gareus [Sat, 28 Jun 2014 19:26:16 +0000 (21:26 +0200)]
fix meterbridge: load button image only once.
Robin Gareus [Sat, 28 Jun 2014 19:25:13 +0000 (21:25 +0200)]
search-path: filter out duplicates
Note: this does not yet take care of filtering dups
when directly combining two search-paths.
John Emmas [Sat, 28 Jun 2014 12:33:28 +0000 (13:33 +0100)]
Use 'GStatBuf' in preference to 'struct stat' (which isn't necessarily the same thing)
John Emmas [Sat, 28 Jun 2014 10:56:19 +0000 (11:56 +0100)]
Add (newly introduced) sources to our MSVC projects
John Emmas [Sat, 28 Jun 2014 10:48:08 +0000 (11:48 +0100)]
Remove (no longer needed) sources from our MSVC projects
Paul Davis [Fri, 27 Jun 2014 14:49:05 +0000 (10:49 -0400)]
replace old implementation of Editor::_ensure_time_axis_view_is_visible() with the guts of Editor::ensure_track_is_visible(), then remove the latter.
Also change all users of ensure_track_is_visible() to use _ensure_time_axis_view_is_visible()
Paul Davis [Fri, 27 Jun 2014 14:48:04 +0000 (10:48 -0400)]
add commentary on why PublicEditor::{_,}ensure_time_axis_view_is_visible() both exist
Paul Davis [Fri, 27 Jun 2014 14:30:09 +0000 (10:30 -0400)]
slightly increase size of a Canvas::PolyItem, to avoid left-over pixels when dragging (as well as other general incorrectness
Paul Davis [Fri, 27 Jun 2014 14:27:04 +0000 (10:27 -0400)]
if CANVAS_DEBUG is defined, then the env variable CANVAS_HARLEQUIN_DEBUGGING will turn on drawing the expose areas for canvas render debugging
Paul Davis [Fri, 27 Jun 2014 14:19:21 +0000 (10:19 -0400)]
in Canvas::window_to_canvas(), if either x or y coordinate is less than zero, search for the scroll group on the relevant edge.
If we don't do this then we find no scroll group covering the event coordinate, and the translation for scroll fails to be applied
Paul Davis [Fri, 27 Jun 2014 14:18:11 +0000 (10:18 -0400)]
fix edges of selection rects in time axis views to lie correctly within bounds of the time axis view
Paul Davis [Fri, 27 Jun 2014 13:37:37 +0000 (09:37 -0400)]
make time axis view item name text be insensitive to events
We don't really need to be able to click on this to do anything - dbl-click on the item brings up the edit menu etc.
Paul Davis [Fri, 27 Jun 2014 13:35:19 +0000 (09:35 -0400)]
make verbose canvas cursor color be set in its constructor rather than explicitly
Robin Gareus [Thu, 26 Jun 2014 19:19:32 +0000 (21:19 +0200)]
fix meterbridge height issues when config changes
Paul Davis [Thu, 26 Jun 2014 19:07:29 +0000 (15:07 -0400)]
use new TrackingText for verbose cursor
Paul Davis [Thu, 26 Jun 2014 19:07:12 +0000 (15:07 -0400)]
new API for TrackingText and similar items
Paul Davis [Thu, 26 Jun 2014 19:05:21 +0000 (15:05 -0400)]
add tracking_text.cc to canvas wscript
Paul Davis [Thu, 26 Jun 2014 19:04:59 +0000 (15:04 -0400)]
removed no-longer-used Editor::track_canvas_motion()
Paul Davis [Thu, 26 Jun 2014 19:04:22 +0000 (15:04 -0400)]
remove unused i2w code from ControlPoint