Commit graph

14351 commits

Author SHA1 Message Date
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
Paul Davis
e81dcb6c39 display key name when debugging keyboard/accel stuff 2014-08-17 20:33:57 -04:00
Paul Davis
f11c8a7cb6 allow escape key to work 2014-08-17 20:33:51 -04:00
Ben Loftis
f3370cfae2 remove implicit range. start-range and end-range work better. documentation changes coming soon
Conflicts:
	gtk2_ardour/editor_selection.cc
2014-08-17 20:33:45 -04:00
Ben Loftis
fa2f8876ea 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-08-17 20:33:04 -04:00
Colin Fletcher
7e998402ea 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-08-17 20:32:55 -04:00
Colin Fletcher
ba584c0901 Ripple mode: remove debug output
Remove std::cerr output, and tidy up a couple of comments.

Conflicts:
	gtk2_ardour/editor_drag.cc
2014-08-17 20:32:49 -04:00
Paul Davis
11bc9aa50d remove debug output 2014-08-17 20:32:18 -04:00
Paul Davis
c0118c76a7 add partial support for mute automation (playback does not work, data is not recorded in the session) 2014-08-17 20:32:13 -04:00
Paul Davis
1a90d28aed give drop zone its own cursor-ability 2014-08-17 20:32:08 -04:00
Colin Fletcher
a8660f422f 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.

Conflicts:
	gtk2_ardour/editor_drag.cc
2014-08-17 20:31:57 -04:00
Colin Fletcher
92524e00ab Ripple mode: fix undo of paste
Fix undo of region paste operations in ripple mode.
2014-08-17 20:31:20 -04:00
Colin Fletcher
1f3d036bf8 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.

Conflicts:
	gtk2_ardour/editor_ops.cc
2014-08-17 20:31:08 -04:00
Robin Gareus
7b62677c7d left-align all pref/option labels for consistency. 2014-08-17 20:29:59 -04:00
Paul Davis
59b4611cda (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-08-17 20:29:54 -04:00
Paul Davis
e561644747 move draggable playhead to editor tab of preferences 2014-08-17 20:29:48 -04:00
Robin Gareus
7d4325b63d remove cruft 2014-08-17 20:29:42 -04:00