David Robillard [Thu, 19 Feb 2015 20:20:19 +0000 (15:20 -0500)]
Remove unused ifdef gunk.
Paul Davis [Thu, 19 Feb 2015 23:21:03 +0000 (18:21 -0500)]
fix incorrect type for Waves' backend's _sample_time_at_cycle_start
Paul Davis [Thu, 19 Feb 2015 22:43:16 +0000 (17:43 -0500)]
change Audio backend sample time methods to use a 64 bit timeline
Robin Gareus [Thu, 19 Feb 2015 20:58:30 +0000 (21:58 +0100)]
add a nonsense-midi test sequence:
system:midi_capture_6
duplicate on/off, zero-velocity note-on
Robin Gareus [Thu, 19 Feb 2015 19:39:26 +0000 (20:39 +0100)]
fix memory leak in case LV2 GUI fails.
Robin Gareus [Thu, 19 Feb 2015 19:37:58 +0000 (20:37 +0100)]
fix some static-analysis warnings
Paul Davis [Thu, 19 Feb 2015 15:33:20 +0000 (10:33 -0500)]
fix transport issues when loop-is-mode is off.
Session::unset_play_loop() needed to be a no-op if play loop was
already false, and this was exacerbated now that it potentially
schedules butler transport work.
Robin Gareus [Wed, 18 Feb 2015 23:54:20 +0000 (00:54 +0100)]
rsynth: map note-on with zero velocity to note-off
Paul Davis [Wed, 18 Feb 2015 17:20:06 +0000 (12:20 -0500)]
stop dragged regions moving to the dropzone during autoscrolling towards the top track
Paul Davis [Wed, 18 Feb 2015 17:00:28 +0000 (12:00 -0500)]
fix initialization order (sigh)
Paul Davis [Wed, 18 Feb 2015 16:50:52 +0000 (11:50 -0500)]
Revert "[Summary] Eliminated redundant marker update notification which lead to creation of huge amount of redundant session events"
This reverts commit
3dde9e969c1a775c04487501dee974d261a3f955.
Paul Davis [Wed, 18 Feb 2015 16:20:20 +0000 (11:20 -0500)]
Revert "fix indentation from previous commit and previous edits"
This reverts commit
449c9b675d3322cd320967bb8e4842d291d22649.
Robin Gareus [Tue, 17 Feb 2015 20:36:52 +0000 (21:36 +0100)]
OSX package: don’t copy dylib itself to libdir.
fixes duplicate panner, backend etc libs in bundle.
Robin Gareus [Tue, 17 Feb 2015 19:58:45 +0000 (20:58 +0100)]
fix windows packaging (unversioned dll)
Paul Davis [Tue, 17 Feb 2015 16:21:41 +0000 (11:21 -0500)]
try to restore original semantics for scheduling butler transport work in Session::locate()
Paul Davis [Tue, 17 Feb 2015 16:10:29 +0000 (11:10 -0500)]
another required fix following recent cherry-picks from waves
GZharun [Sat, 7 Feb 2015 19:36:47 +0000 (21:36 +0200)]
[Summary] Blocked redundant skip marker (during skip ranges consolidation) updates which used to lead to unnecessary overhead and redundant session events
Conflicts:
libs/ardour/ardour/session.h
libs/ardour/session.cc
Paul Davis [Tue, 17 Feb 2015 15:50:54 +0000 (10:50 -0500)]
mark session dirty when loop location is changed
Paul Davis [Tue, 17 Feb 2015 15:47:22 +0000 (10:47 -0500)]
fix indentation from previous commit and previous edits
GZharun [Sun, 15 Feb 2015 11:02:16 +0000 (13:02 +0200)]
[Summary] Eliminated redundant marker update notification which lead to creation of huge amount of redundant session events
GZharun [Tue, 17 Feb 2015 12:20:42 +0000 (14:20 +0200)]
[Summary] Fixed loop processing in cases when loop is moved/resized
[Reviewed by] REQUIRED REVIEW FROM PAUL DAVIS
Paul Davis [Tue, 17 Feb 2015 00:30:21 +0000 (19:30 -0500)]
fixes for desirable playback when using seamless looping.
Try to make sure that we appropriately reset and refill track
buffers whenever we enter/leave loop playback,and whenever
we locate. In addition, if we start playing somewhere other
than the loop range while loop is enabled, then the first
time we hit the loop end, set up the track buffers.
Conflicts:
libs/ardour/session_transport.cc
Paul Davis [Mon, 16 Feb 2015 21:26:42 +0000 (16:26 -0500)]
fixes for non-overlapping fade in/out even in regions not at zero
Robin Gareus [Mon, 16 Feb 2015 17:03:23 +0000 (18:03 +0100)]
dump bundled file-list
Robin Gareus [Mon, 16 Feb 2015 16:32:43 +0000 (17:32 +0100)]
remove lib versioning for internal plugins
Those objects do not have a versioned API by themselves.
This fixes issues with duplicate deployment (OSX, Linux bundles: cp) and
ardour listing control-surfaces multiple times (file index plugin dir).
Tim Mayberry [Mon, 16 Feb 2015 01:52:20 +0000 (11:52 +1000)]
Increase transparency of Loop rectangle so tempo lines are visible
Should fix bug#6163
Tim Mayberry [Sun, 15 Feb 2015 05:05:22 +0000 (15:05 +1000)]
Add TestUI class to properly handle EventLoop invalidation
This fixes the programming error: Session RT event... warnings
while running ardour tests
Tim Mayberry [Sun, 15 Feb 2015 03:48:53 +0000 (13:48 +1000)]
Move TestReceiver class in libardour tests into own header file
Tim Mayberry [Sat, 20 Dec 2014 11:56:36 +0000 (18:56 +0700)]
Add a few test util functions and refactor existing test code
Ben Loftis [Sat, 14 Feb 2015 13:52:36 +0000 (07:52 -0600)]
add john and todd to contributor list
Robin Gareus [Sat, 14 Feb 2015 04:38:53 +0000 (05:38 +0100)]
fix testPathIsWithin unit-test:
* use absolute path
* fix copy/paste typo: bar->jim for symlink test
Robin Gareus [Sat, 14 Feb 2015 03:18:56 +0000 (04:18 +0100)]
hide terminal window for windows vst scanner
David Robillard [Sat, 14 Feb 2015 02:59:11 +0000 (21:59 -0500)]
Fix LV2 UIs with spacey paths (e.g. Pianoteq).
Robin Gareus [Sat, 14 Feb 2015 01:54:24 +0000 (02:54 +0100)]
fix regexp in prev commit (abs path)
Robin Gareus [Sat, 14 Feb 2015 01:46:02 +0000 (02:46 +0100)]
linux packaging: ignore QT4 dependency
Paul Davis [Fri, 13 Feb 2015 23:42:41 +0000 (18:42 -0500)]
fix seamless looping after a locate out of the loop.
Something, somewhere has to tell tracks to refill their buffers with
the special loop-data-only magic
Paul Davis [Fri, 13 Feb 2015 20:27:53 +0000 (15:27 -0500)]
correctly set track loop status when locating away from loop range (and later, when coming back to the loop)
Conflicts:
libs/ardour/ardour/session.h
libs/ardour/session.cc
libs/ardour/session_transport.cc
Paul Davis [Fri, 13 Feb 2015 22:08:25 +0000 (17:08 -0500)]
fix up recent cherry-picks from waves' tracks
Paul Davis [Fri, 13 Feb 2015 17:36:08 +0000 (12:36 -0500)]
insanely complex fixes for dragging to and from the drop zone.
This probably breaks some of ardour's functionality (e.g. layered mode), but seems to
be either just right or very close to it for tracks
Conflicts:
gtk2_ardour/editor_routes.cc
Paul Davis [Fri, 13 Feb 2015 21:42:05 +0000 (16:42 -0500)]
fix up recent cherry-picks from waves' tracks
Paul Davis [Fri, 13 Feb 2015 21:13:12 +0000 (16:13 -0500)]
prevent fade in/fade out on audio regions from overlapping each other
Paul Davis [Thu, 12 Feb 2015 19:28:44 +0000 (14:28 -0500)]
implement axis-limited dragging
Paul Davis [Thu, 12 Feb 2015 18:37:18 +0000 (13:37 -0500)]
detect if drags appear to be vertical or horizontal as we cross the move threshold
Conflicts:
gtk2_ardour/editor_drag.cc
gtk2_ardour/editor_drag.h
Paul Davis [Thu, 12 Feb 2015 19:28:26 +0000 (14:28 -0500)]
fix behaviour of region-copy-drag when using the dropzone.
The copied regions all had a null playlist pointer, so they all ended up on
the same (new) track
Paul Davis [Mon, 9 Feb 2015 15:59:09 +0000 (10:59 -0500)]
allow normal right trimming even if the start of a range is at zero
Conflicts:
gtk2_ardour/editor_drag.cc
Paul Davis [Mon, 9 Feb 2015 15:50:54 +0000 (10:50 -0500)]
After dragging from multiple tracks to the dropzone, create the right number of new tracks.
This does not address the visual flattening that occurs before the drop
is complete. Doing that is complex and there is no immediate solution
visible. The result after the drop is complete is correct, however.
Robin Gareus [Fri, 13 Feb 2015 15:10:00 +0000 (16:10 +0100)]
add a common test-failed indicator
Colin Fletcher [Fri, 13 Feb 2015 12:25:26 +0000 (12:25 +0000)]
Add a test for the constrained cubic interpolation of Evoral::Curve
Add a test, based on the worked example in www.korf.co.uk/spline.pdf, for
the constrained cubic spline interpolation.
The delta values for the float comparisons are rather arbitrary, I'm sorry
to say: they're basically chosen so that everything passes.
John Emmas [Fri, 13 Feb 2015 11:37:00 +0000 (11:37 +0000)]
When building with MSVC add a couple of new pragmas to cut down on the most frequent compiler warnings, namely:-
1) C4244 (conversion loses data) - e.g. when re-assigning a var of (say) int64_t to a lesser type, such as int32_t
2) C4275 (an exported class was derived from a class which is not exportable) - e.g. when deriving classes from std::set, std::exception or some other class which isn't declared with 'dllexport'
John Emmas [Fri, 13 Feb 2015 11:23:59 +0000 (11:23 +0000)]
When building with MSVC, follow Robin's lead and add support for a new env var (SUIL_MODULE_DIR)
Robin Gareus [Thu, 12 Feb 2015 22:00:47 +0000 (23:00 +0100)]
win-pkg, ignore missing suil modules
Ben Loftis [Thu, 12 Feb 2015 17:35:27 +0000 (11:35 -0600)]
add accessor methods for single_exposure
Ben Loftis [Thu, 12 Feb 2015 17:22:55 +0000 (11:22 -0600)]
_single_exposure is now a member variable for each GtkCanvas.
Gtk coalesces multiple exposes into a single combined rect.
If _single_exposure is disabled, we break apart the individual expose rects for the canvas rendering.
Robin Gareus [Thu, 12 Feb 2015 16:35:39 +0000 (17:35 +0100)]
windows: deploy suil modules
Tim Mayberry [Sat, 7 Feb 2015 00:16:49 +0000 (10:16 +1000)]
Fix whitespace in pbd/debug.h
Tim Mayberry [Thu, 12 Feb 2015 04:05:10 +0000 (14:05 +1000)]
Add local PwdReset class to reset pwd in event of test failure
This fixes subsequent tests that rely on pwd but not PBD::path_is_within
breakage caused by commit
2689848e
Tim Mayberry [Thu, 12 Feb 2015 10:05:54 +0000 (20:05 +1000)]
Add some more test assertions so that tests fail when they should
Paul Davis [Thu, 12 Feb 2015 02:59:25 +0000 (21:59 -0500)]
remove naive attempt to avoid drawing first vertical pixel line of Canvas::WaveView
And add commented out attempt at more subtle attempt to get it right
Paul Davis [Thu, 12 Feb 2015 02:56:44 +0000 (21:56 -0500)]
remove use of TimeRectangle
Paul Davis [Thu, 12 Feb 2015 02:56:29 +0000 (21:56 -0500)]
simplify Canvas::Rectangle rendering to avoid unnecessary nonsense, and remove TimeRectangle
Paul Davis [Thu, 12 Feb 2015 02:35:59 +0000 (21:35 -0500)]
Canvas::Rect::contains() should treat its right/left coordinates as exclusive
Paul Davis [Thu, 12 Feb 2015 02:35:23 +0000 (21:35 -0500)]
When setting the duration of a TimeAxisViewItem, do not round before computing pixel width
Paul Davis [Thu, 12 Feb 2015 02:34:49 +0000 (21:34 -0500)]
Editor::sample_to_pixel() always returns an integer value, but it should use explicit rounding
Robin Gareus [Wed, 11 Feb 2015 23:59:55 +0000 (00:59 +0100)]
fix midi-capture filter
diskstream reads directly from port, Route
use prefilled buffer-set.
Ben Loftis [Wed, 11 Feb 2015 20:29:50 +0000 (14:29 -0600)]
use magic strings instead of magic numbers (allow profiles to leave out some track type options)
Ben Loftis [Tue, 10 Feb 2015 22:41:46 +0000 (16:41 -0600)]
desensitize redirect-menu Send and Control items when they are not applicable
Paul Davis [Wed, 11 Feb 2015 00:48:28 +0000 (19:48 -0500)]
properly activating MIDI parsing for traced ports
Paul Davis [Wed, 11 Feb 2015 00:48:01 +0000 (19:48 -0500)]
infrastructure to allow tracing of all MIDI ports
Paul Davis [Mon, 9 Feb 2015 22:56:06 +0000 (17:56 -0500)]
skip drawing the first pixel of waves in an audio region view.
This means that they do no overwrite the frame border of the time axis item
Paul Davis [Mon, 9 Feb 2015 22:55:05 +0000 (17:55 -0500)]
add a sort-of hack to allow us to avoid drawing the first pixel of a waveview when necessary
Ben Loftis [Tue, 10 Feb 2015 20:54:43 +0000 (14:54 -0600)]
fix previous commit
Ben Loftis [Tue, 10 Feb 2015 20:42:47 +0000 (14:42 -0600)]
Track Mode is too vague; rename to Record Mode
Ben Loftis [Mon, 9 Feb 2015 20:03:38 +0000 (14:03 -0600)]
flip the priority of input and output buttons and menus
left-click should show the simple input picker menu.
right-click shows the routing grid.
also reordered the menu to give lower precedence to {add/remove}-port
Ben Loftis [Mon, 9 Feb 2015 17:12:15 +0000 (11:12 -0600)]
fix boot message always sticking on the last loaded route; it looked like an error
Ben Loftis [Mon, 9 Feb 2015 17:03:05 +0000 (11:03 -0600)]
fixed collision with <SECONDARY>n binding
Paul Davis [Mon, 9 Feb 2015 21:41:28 +0000 (16:41 -0500)]
correct drawing of rectangle borders.
They need to use fractional coordinates, and the border position needed
generalizing for other border widths. See verbose comment for details
Paul Davis [Mon, 9 Feb 2015 21:40:10 +0000 (16:40 -0500)]
canvas items must be able to use fractional positions when rendering.
This is required to be able to draw precise single pixel lines, as described
in the Cairo FAQ
Paul Davis [Mon, 9 Feb 2015 17:43:20 +0000 (12:43 -0500)]
fix last cherry-pick
Paul Davis [Sat, 7 Feb 2015 03:46:43 +0000 (22:46 -0500)]
fix color and alpha of timestretch rect
Paul Davis [Fri, 6 Feb 2015 21:39:13 +0000 (16:39 -0500)]
put function into namespace
David Robillard [Thu, 5 Feb 2015 22:37:17 +0000 (17:37 -0500)]
Fix sending out of bounds events to LV2 plugins.
Paul Davis [Mon, 9 Feb 2015 15:50:54 +0000 (10:50 -0500)]
After dragging from multiple tracks to the dropzone, create the right number of new tracks.
This does not address the visual flattening that occurs before the drop
is complete. Doing that is complex and there is no immediate solution
visible. The result after the drop is complete is correct, however.
Conflicts:
gtk2_ardour/editor_drag.cc
nick_m [Sat, 7 Feb 2015 12:33:09 +0000 (23:33 +1100)]
Properly deallocate memory when clearing selection_op_history and
before XMLNode*s.
Improve some comments.
Ben Loftis [Fri, 6 Feb 2015 19:57:22 +0000 (13:57 -0600)]
fix 192k rate
Ben Loftis [Fri, 6 Feb 2015 19:55:00 +0000 (13:55 -0600)]
when the user changes devices, notify the backend
Paul Davis [Fri, 6 Feb 2015 15:19:58 +0000 (10:19 -0500)]
fix (and comment) on subtle bug with audio file data width function
nick_m [Fri, 6 Feb 2015 10:54:27 +0000 (21:54 +1100)]
Make undo/redo work for:
undo (n) where n > 1
redo (m) where m < n
new transaction.
Previously the redo list was left untouched.
This would lead to utter nonsense in the redo list.
AFAICT this never worked.
Paul Davis [Fri, 6 Feb 2015 01:26:02 +0000 (20:26 -0500)]
fixup cherry-picked changes from Waves Tracks, and fix for Ardour
Paul Davis [Thu, 5 Feb 2015 23:20:53 +0000 (18:20 -0500)]
implement RangeMarkerBarDrag::abort
Conflicts:
gtk2_ardour/editor_drag.cc
Paul Davis [Thu, 5 Feb 2015 23:00:32 +0000 (18:00 -0500)]
implement MarkerDrag::abort()
Paul Davis [Thu, 5 Feb 2015 23:02:57 +0000 (18:02 -0500)]
do not attempt to call an empty/null boost functor in clear_events()
Paul Davis [Thu, 5 Feb 2015 22:42:34 +0000 (17:42 -0500)]
fix issue with region dragging while mouse pointer is in rulers/marker lanes
Paul Davis [Thu, 5 Feb 2015 21:49:14 +0000 (16:49 -0500)]
fix bad fix for cherry-pick conflict
Paul Davis [Thu, 5 Feb 2015 21:31:01 +0000 (16:31 -0500)]
make two obvously const methods actually be const
Paul Davis [Thu, 5 Feb 2015 21:21:01 +0000 (16:21 -0500)]
modify behaviour of session when updating skips to use new SessionEvent API
Conflicts:
libs/ardour/ardour/session.h
libs/ardour/session.cc
Paul Davis [Thu, 5 Feb 2015 21:20:34 +0000 (16:20 -0500)]
add SessionEvent::Action to libs/ardour enums registration
Paul Davis [Thu, 5 Feb 2015 21:20:09 +0000 (16:20 -0500)]
expand SessionEvent API to allow ::clear_events() to work correctly.
clear_events() must run in realtime context, which is likely to be asynchronous
with respect to the thread that calls it. So allow caller to pass in a functor
that will be executed (also in realtime context) after the clear is done.
Additionally, allow for a cross-thread callback to the event loop/thread which
initiated/allocated the clear event request so that it can flush its own pending
loop. This part probably isn't necessary but doesn't hurt and is a useful model.
The event would be placed back in the free list at the next event allocation
by the calling thread anyway.
Paul Davis [Thu, 5 Feb 2015 21:13:24 +0000 (16:13 -0500)]
expand PBD::Pool API and add additional DEBUG_TRACE output.
Expanded API splits apart some CrossThreadPool functionality, and provides
access to current pool status information (available(), total(), used(), pending_size())
Paul Davis [Thu, 5 Feb 2015 21:11:28 +0000 (16:11 -0500)]
set name of GUI event loop thread
Ben Loftis [Thu, 5 Feb 2015 18:24:11 +0000 (12:24 -0600)]
ContentEdit drag on empty MIDI track should not create new midi regions