Paul Davis [Thu, 10 Jul 2014 02:41:29 +0000 (22:41 -0400)]
size various ArdourDropdowns according to the pixel width, not character length, of their various strings
Paul Davis [Thu, 10 Jul 2014 02:39:07 +0000 (22:39 -0400)]
Revert "adjust horizontal-offset for snap/grid dropdown." Wrong fix for the problem.
This reverts commit
c90d35c4a14f6838907830522a9ca3b73e037f07.
Robin Gareus [Wed, 9 Jul 2014 23:55:17 +0000 (01:55 +0200)]
adjust horizontal-offset for snap/grid dropdown.
Paul Davis [Wed, 9 Jul 2014 23:16:03 +0000 (19:16 -0400)]
use standardized timecode formatting in verbose cursor
Paul Davis [Wed, 9 Jul 2014 23:13:18 +0000 (19:13 -0400)]
break out AudioClock::print_minsec() so that AudioClock and VerboseCursor can use the same formatting code.
Paul Davis [Wed, 9 Jul 2014 22:32:41 +0000 (18:32 -0400)]
verbose cursor should use primary clock mode even when showing a duration, not just absolute position
Paul Davis [Wed, 9 Jul 2014 20:48:19 +0000 (16:48 -0400)]
add Editor::edit_mode_strings to allow for i18n; correctly size ArdourDropdowns using longest, translated strings
Paul Davis [Wed, 9 Jul 2014 20:47:42 +0000 (16:47 -0400)]
add std::string variant of set_size_request_to_display_given_string()
Ben Loftis [Wed, 9 Jul 2014 20:11:58 +0000 (15:11 -0500)]
add mixbus profile which removes the tearoffs
Robin Gareus [Wed, 9 Jul 2014 19:32:26 +0000 (21:32 +0200)]
Revert "ardour loves narrow screens part one"
This reverts commit
d3d83eac9df8f7c56fd6fedcf001dffa52d7357a.
restore full-height of editor-mixer.
Robin Gareus [Wed, 9 Jul 2014 19:32:13 +0000 (21:32 +0200)]
reduce space around TearOff Tickmarks
Robin Gareus [Wed, 9 Jul 2014 19:31:35 +0000 (21:31 +0200)]
shorten grid/snap label "Timecode" -> "TC"
Robin Gareus [Wed, 9 Jul 2014 19:45:57 +0000 (21:45 +0200)]
automatically set ArdourDropdown box width.
..according to longest text in English.
Ben Loftis [Wed, 9 Jul 2014 19:45:20 +0000 (14:45 -0500)]
polish a few blemishes and add some comments
Ben Loftis [Wed, 9 Jul 2014 19:34:00 +0000 (14:34 -0500)]
fix range select so it picks up grouped tracks
Paul Davis [Wed, 9 Jul 2014 18:29:57 +0000 (14:29 -0400)]
make sure that copy constructors and operator= for ControlList pass along the _interpolation value
Paul Davis [Wed, 9 Jul 2014 18:28:01 +0000 (14:28 -0400)]
make AutomationList::operator==() private and abort() as its core, because it should never be called/used.
Also make AutomationList::operator=() use ControlList::operator=() rather than try to reimplement it
Robin Gareus [Wed, 9 Jul 2014 17:40:54 +0000 (19:40 +0200)]
new scissors icon
Robin Gareus [Wed, 9 Jul 2014 17:40:43 +0000 (19:40 +0200)]
ardour loves 1024px width screens
narrow mode toolbar for screens <= 1024px with
Robin Gareus [Wed, 9 Jul 2014 16:16:50 +0000 (18:16 +0200)]
ardour loves narrow screens part one
move toolbar box above editor-canvas. Without-editor mixer
there is no change. With Editor-mixer it is now above the
mixer-strip.
This makes the toolbar [almost] fit on 1024px width.
Paul Davis [Wed, 9 Jul 2014 17:09:38 +0000 (13:09 -0400)]
reduce actual size of tool_cut.png to avoid blowing up h-padding on all other tool buttons
Paul Davis [Wed, 9 Jul 2014 16:07:05 +0000 (12:07 -0400)]
add new TRX-only function for unusual global-record-enable semantics
Paul Davis [Wed, 9 Jul 2014 16:06:36 +0000 (12:06 -0400)]
remove debug output
Paul Davis [Wed, 9 Jul 2014 16:03:22 +0000 (12:03 -0400)]
fix crash initiated by never configuring track write sources when reloading a session, caused by earlier commits to avoid unnecessary write source resets
Paul Davis [Wed, 9 Jul 2014 16:02:22 +0000 (12:02 -0400)]
do not return auditioner as part of Session::get_tracks()
Paul Davis [Wed, 9 Jul 2014 15:29:26 +0000 (11:29 -0400)]
add Session::get_tracks()
Paul Davis [Wed, 9 Jul 2014 14:18:28 +0000 (10:18 -0400)]
add mutex to prevent concurrent session state saves.
Why wasn't this done 10 years ago?
Paul Davis [Wed, 9 Jul 2014 14:10:44 +0000 (10:10 -0400)]
do not attempt to save undo history if it is empty, and do not do any part of history save if we're not going to write a new file
Paul Davis [Wed, 9 Jul 2014 14:09:49 +0000 (10:09 -0400)]
don't save state when removing sources during session loading (though this should no longer happen)
Paul Davis [Wed, 9 Jul 2014 14:09:14 +0000 (10:09 -0400)]
only reset AudioDiskstream write sources if the I/O configuration changed. Do not do this for connection changes etc.
Paul Davis [Wed, 9 Jul 2014 01:37:49 +0000 (21:37 -0400)]
call Canvas::re_enter() at the end of a RegionCutDrag so that entered_regionview *might* be set
Paul Davis [Wed, 9 Jul 2014 01:36:05 +0000 (21:36 -0400)]
cut ops can start on automation tracks too
Paul Davis [Wed, 9 Jul 2014 00:28:27 +0000 (20:28 -0400)]
cut ops can start with the mouse pointer not over a region
Paul Davis [Tue, 8 Jul 2014 20:08:31 +0000 (16:08 -0400)]
cut cursor follows grid
Ben Loftis [Tue, 8 Jul 2014 19:59:16 +0000 (14:59 -0500)]
bolder scissor images to match existing tools more closely
Ben Loftis [Tue, 8 Jul 2014 19:16:13 +0000 (14:16 -0500)]
fix thinko with split selections. also ignore follow_edits when we are splitting, because the playlist freeze and the newly added regions cause the playhead to jump to unexpected locations
Robin Gareus [Tue, 8 Jul 2014 16:40:26 +0000 (18:40 +0200)]
add --debug-symbols configure option.
This allows for --optimize --debug-symbols for profiling.
Robin Gareus [Tue, 8 Jul 2014 16:16:26 +0000 (18:16 +0200)]
Dummy Backend: optimize random-number implementation
Robin Gareus [Tue, 8 Jul 2014 13:52:22 +0000 (15:52 +0200)]
fix and optimize DummyBackend generators
* use Wavetable for sine
* lock generator (concurrency issue)
* always initialize variables
Paul Davis [Tue, 8 Jul 2014 16:25:36 +0000 (12:25 -0400)]
when merging external source files into session folder, if a collision occurs, use the original file suffix in conjunction with md5 hash
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