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
nick_m [Thu, 5 Feb 2015 14:09:04 +0000 (01:09 +1100)]
Rework previous commit to avoid extra property lookup (fwiw).
nick_m [Thu, 5 Feb 2015 13:53:12 +0000 (00:53 +1100)]
Make sure we have the property rather than the value of patch change id.
(don't crash whenever someone adds a patch change and reloads the session).
nick_m [Thu, 5 Feb 2015 12:32:57 +0000 (23:32 +1100)]
Clean up Session's _current_trans when aborting a drag.
nick_m [Thu, 5 Feb 2015 08:57:56 +0000 (19:57 +1100)]
Make redo action insensitive after new command.
Don't erroneously send first_move more than once after autoscroll drag.
Robin Gareus [Wed, 4 Feb 2015 17:04:33 +0000 (18:04 +0100)]
remove duplicate callback
mcontrol->Changed is [also] subscribed to further below (input & output).
Ben Loftis [Tue, 3 Feb 2015 23:35:37 +0000 (17:35 -0600)]
tweak to help with uncoalesced renders
Paul Davis [Tue, 3 Feb 2015 20:38:14 +0000 (15:38 -0500)]
render canvas using the GDK region rather than the GDK area.
The region is the un-coalesced set of rectangles that were requested for redraw. The area
is the coalesced single rectangle. In the worst cases, the coalesced rectangle could span
the entire window even though just two pixels in opposite corners were to be redrawn.
There is a problem with the verbose cursor as it is dragged across MIDI tracks. TO BE
FIXED.
John Emmas [Tue, 3 Feb 2015 11:57:38 +0000 (11:57 +0000)]
Add an extra test to prevent 'PBD::path_is_within()' from looping infinitely on Windows
The infinite loop would happen if the 2 supplied paths were on different Windows drives - for example if one was on drive C:\ and the other on drive E:\
I don't think this new test will be detrimental to the other platforms but if it is, we could easily separate it out with a '#ifdef PLATFORM_WINDOWS' directive.
Robin Gareus [Mon, 2 Feb 2015 17:46:26 +0000 (18:46 +0100)]
OSX packaging: fix disk-image "Resource busy"
see http://lists.apple.com/archives/darwin-dev/2008/Sep/msg00030.html
Ben Loftis [Sun, 1 Feb 2015 23:21:02 +0000 (17:21 -0600)]
Remove remaining LEVEL4 bindings
Ben Loftis [Sun, 1 Feb 2015 22:59:01 +0000 (16:59 -0600)]
Fix Session Export keybinding to call correct action (ExportAudio).
Still broken though, due to ongoing Mod4><Super binding confusion.
Ben Loftis [Fri, 30 Jan 2015 17:46:06 +0000 (11:46 -0600)]
make it possible to bundle harrison plugins; osx version (disabled for now)
Ben Loftis [Fri, 30 Jan 2015 16:12:35 +0000 (10:12 -0600)]
fix cursor color for text entries
Ben Loftis [Fri, 30 Jan 2015 02:35:01 +0000 (20:35 -0600)]
remove locate before loop, which was causing intermittent loop behavior
Paul Davis [Fri, 30 Jan 2015 16:08:56 +0000 (11:08 -0500)]
use Gtkmm2ext::possibly_translate_mod_to_make_legal_accelerator() in all cases where we use gtk_accel_groups_activate()
Because that function needs it, whereas the old gtk_window_activate_key() did not.
John Emmas [Fri, 30 Jan 2015 14:55:23 +0000 (14:55 +0000)]
If 'force' is TRUE (when using 'Location::set_start()' or 'Location::set_end()') make sure we do actually force the value to get set.
This gets us around a problem when converting a session from the old (Ardour2) format - where the Session Range (start) value was getting incorrectly set if we hadn't already set the end value.
Robin Gareus [Fri, 30 Jan 2015 10:01:36 +0000 (11:01 +0100)]
fix “invalid use of incomplete type jack_client_t”
introduced in
66eef25
Robin Gareus [Fri, 30 Jan 2015 09:42:43 +0000 (10:42 +0100)]
clarify sync-lock and disable it by default.
Robin Gareus [Fri, 30 Jan 2015 08:22:59 +0000 (09:22 +0100)]
Paul Davis [Thu, 29 Jan 2015 23:57:01 +0000 (18:57 -0500)]
stop transport when process_routes fails, even when using the parallel graph execution model
Paul Davis [Thu, 29 Jan 2015 23:56:21 +0000 (18:56 -0500)]
fix incorrect return value from sndfile_data_width()
Robin Gareus [Fri, 30 Jan 2015 00:26:47 +0000 (01:26 +0100)]
take down backend specific threads with backend
Robin Gareus [Fri, 30 Jan 2015 00:25:54 +0000 (01:25 +0100)]
fix jack thread joining
at the time the graph gets around to takes down
client threads, the jack-backend’s jack_client has been reset.
But never mind: libjack does not care about it, anyway.
Paul Davis [Thu, 29 Jan 2015 23:49:04 +0000 (18:49 -0500)]
return to old default disk chunk read size
Paul Davis [Thu, 29 Jan 2015 17:15:36 +0000 (12:15 -0500)]
don't wipe out SHIFT from event state when processing keyboard events, as done in a recent commit
Ben Loftis [Thu, 29 Jan 2015 17:23:49 +0000 (11:23 -0600)]
in mixbus, treat the canvas rulers just like the canvas wrt mouse-wheel-zoom
Ben Loftis [Thu, 29 Jan 2015 17:00:04 +0000 (11:00 -0600)]
consolidate using SECONDARY+number bindings for region properties, such as gain, mute, etc
Ben Loftis [Thu, 29 Jan 2015 16:50:07 +0000 (10:50 -0600)]
switch WINDOW bindings to use SECONDARY instead and displace any bindings that conflicted
Paul Davis [Thu, 29 Jan 2015 02:02:57 +0000 (21:02 -0500)]
fix up and comment fmt-bindings tool
Paul Davis [Thu, 29 Jan 2015 02:02:44 +0000 (21:02 -0500)]
use gtk_accel_groups_active() in preference to gtk_window_activate_key() since the latter behaves incorrectly
The window version will not activate bindings like <Mod4><Super>-space, whereas the former one works correctly. We already used
the former one just above, when handling "fakekeys".
Also add a utility function to show modifier state.
Robin Gareus [Thu, 29 Jan 2015 01:28:25 +0000 (02:28 +0100)]
fix -Wreorder in
6377fe89
Robin Gareus [Thu, 29 Jan 2015 01:12:15 +0000 (02:12 +0100)]
allow bundling of lv2core
Don’t statically initiate the lv2 world, use explicit call after
scanning bundles.
lilv_world_load_specifications() and lilv_world_load_plugin_classes()
are only ever called after lilv_world_load_all(), so we postpone
the call to it.
David Robillard [Wed, 28 Jan 2015 23:52:54 +0000 (18:52 -0500)]
Map window bindings to alt.
As they were before, got caught in the crossfire of super key bindings fix.
Robin Gareus [Wed, 28 Jan 2015 22:50:07 +0000 (23:50 +0100)]
guess what?!
Robin Gareus [Wed, 28 Jan 2015 22:08:06 +0000 (23:08 +0100)]
add lv2core to bundles
The ontology is needed for plugin classification.
Robin Gareus [Wed, 28 Jan 2015 16:29:33 +0000 (17:29 +0100)]
readtest: calculate running average and stddev
Robin Gareus [Wed, 28 Jan 2015 13:35:17 +0000 (14:35 +0100)]
read-test format directly for gnuplot
Robin Gareus [Wed, 28 Jan 2015 12:19:03 +0000 (13:19 +0100)]
ALSA-backend separate report for error and x-run
Robin Gareus [Wed, 28 Jan 2015 12:17:40 +0000 (13:17 +0100)]
ALSA-Backend prefer ppoll()
Robin Gareus [Wed, 28 Jan 2015 01:22:52 +0000 (02:22 +0100)]
fix #6117 - fader prelight
Robin Gareus [Tue, 27 Jan 2015 22:13:29 +0000 (23:13 +0100)]
towards fixing #5711
Don’t call ::output() [here: SilenceTrimmer::process()]
with no data to process.
If (position + N * period-size) % chunksize == 0;
frames_left == 0 before the last call to ::output().
chunker.h:60 keeps the ProcessContext<T>::EndOfInput
flag and the SilenceTrimmer will already have done ‘in_end’ processing.
Valeriy Kamyshniy [Tue, 27 Jan 2015 21:54:15 +0000 (23:54 +0200)]
[Summary] Adding missing initialization of the date &time formats. “Init trashes” caused a bit ruined logic of the export dialog.
Robin Gareus [Tue, 27 Jan 2015 13:04:19 +0000 (14:04 +0100)]
fix printf format-security warning.
warning: format string is not a string literal (potentially insecure) [-Wformat-security]
John Emmas [Tue, 27 Jan 2015 11:59:23 +0000 (11:59 +0000)]
Don't try to dereference a NULL ptr (the function 'ARDOUR::IO::nth()' can return an invalid ptr, so let's make sure we test for it)
Note 1: Potentially we could have the same issue with 'AutomationLine::nth()' (although the current code seems okay)
Note 2: This (specific) problem seems mostly to affect Mixbus3 when it tries to load an old (version2) session from Ardour2. Mixbus can mark certain IO ports as being 'unused'. While loading sessions, function 'ARDOUR::IO::ensure_ports_locked()' deletes any unused ports. But later, the function 'ARDOUR::IO::make_connections_2X()' was crashing while trying to connect those (now NULL) ports. This commit fixes that crash but there's some evidence that it might only have moved the problem elsewhere. The version2 sessions now open successfully - but an MSVC (Debug) build now crashes whilst closing them (the Release build however, is okay). Someone who's more familiar with the code than me should review the Mixbus3/Ardour2 loading procedure to make sure it's safe.
Paul Davis [Mon, 26 Jan 2015 21:37:53 +0000 (16:37 -0500)]
ignore context menu click events, notably during drag but also for a couple of other purposes
Conflicts:
gtk2_ardour/editor_canvas_events.cc
Paul Davis [Mon, 26 Jan 2015 16:58:35 +0000 (11:58 -0500)]
remove unnecessary commented-out line.
Session is marked as in-deletion during deletion itself
Paul Davis [Mon, 26 Jan 2015 16:55:48 +0000 (11:55 -0500)]
on OS X, do not require click to activate the application
Robin Gareus [Mon, 26 Jan 2015 16:12:09 +0000 (17:12 +0100)]
Paul Davis [Mon, 26 Jan 2015 15:39:14 +0000 (10:39 -0500)]
rename ARDOUR_UI::idle_load() to ARDOUR_UI::load_from_application_api() to correctly indicate function
Paul Davis [Sun, 25 Jan 2015 17:53:48 +0000 (12:53 -0500)]
fix incorrect logic when loading session via NextStep document API
Paul Davis [Sun, 25 Jan 2015 17:51:59 +0000 (12:51 -0500)]
fix declaration of Cocoa NSApplicationDelegate methods
Paul Davis [Sun, 25 Jan 2015 16:42:14 +0000 (11:42 -0500)]
Revert "alter default disk chunk sizes"
This reverts commit
3068e55e5141eb95f7b9ff49ac711d42fba7a753.
Robin Gareus [Sun, 25 Jan 2015 09:19:46 +0000 (10:19 +0100)]
add a simple status indicator to the Engine Dialog
Robin Gareus [Sun, 25 Jan 2015 09:19:06 +0000 (10:19 +0100)]
audio-engine use internal API to stop
emit signal(s) when engine is stopped due to backend
change.
Robin Gareus [Sun, 25 Jan 2015 09:18:33 +0000 (10:18 +0100)]
fix latency measurement result display
If measurement is fast (<100ms), the GUI timeout function
never displayed the measured value.
Robin Gareus [Sun, 25 Jan 2015 00:55:36 +0000 (01:55 +0100)]
midi note paste undo fix.
Paul Davis [Sun, 25 Jan 2015 00:27:28 +0000 (19:27 -0500)]
make butler thread merely ask for session state save, not actually do the save itself.
This prevents the possibility of cross-thread calls in the GUI when it adds its state
to the session via extra XML
Paul Davis [Sun, 25 Jan 2015 00:17:13 +0000 (19:17 -0500)]
add handler for, and connect to, Session::SaveSessionRequested
Paul Davis [Sun, 25 Jan 2015 00:06:31 +0000 (19:06 -0500)]
Add a new signal (not yet used) to initiate session saves; alter signal name for existing signal used to allow other objects to add XML state to session
Paul Davis [Sun, 25 Jan 2015 00:05:05 +0000 (19:05 -0500)]
alter default disk chunk sizes
Paul Davis [Sat, 24 Jan 2015 23:53:10 +0000 (18:53 -0500)]
add function to get data width for ARDOUR::SampleFormat
Paul Davis [Sat, 24 Jan 2015 19:08:19 +0000 (14:08 -0500)]
ScrollGroup::covers_{window,canvas}() need to account for possible non-zero position of the group.
They also do NOT need to consider scroll offset
Paul Davis [Sat, 24 Jan 2015 19:07:36 +0000 (14:07 -0500)]
ScrollGroups are kept in their own list, so ::window_to_canvas() does not need to inspect root group children to find them
Conflicts:
libs/canvas/canvas.cc
Robin Gareus [Sat, 24 Jan 2015 22:39:34 +0000 (23:39 +0100)]
ALSA backend: synchronous switch to/from freewheeling
Robin Gareus [Sat, 24 Jan 2015 21:45:42 +0000 (22:45 +0100)]
DummyBackend: sync switch to freewheeling
Robin Gareus [Sat, 24 Jan 2015 19:40:07 +0000 (20:40 +0100)]
fix copy/drag abort.
Paul Davis [Sat, 24 Jan 2015 17:26:58 +0000 (12:26 -0500)]
make MouseCursors invalid cursor API be static; use to initialize default cursor value in Drag API; use C API to set canvas cursor
Paul Davis [Fri, 23 Jan 2015 21:17:35 +0000 (16:17 -0500)]
make -n (numfiles) argument do something
Paul Davis [Fri, 23 Jan 2015 20:15:29 +0000 (15:15 -0500)]
allow use of null pointer as a valid cursor (implies using cursor of parent window)
Paul Davis [Fri, 23 Jan 2015 18:45:21 +0000 (13:45 -0500)]
fix indentation from prior commit
GZharun [Fri, 23 Jan 2015 12:46:23 +0000 (14:46 +0200)]
[Summary] Fixed bug 45163: Trim range from right corner of timeline leads Tracks to crash
[Details] Crash was provoked because of an attempt to add commands to the session reversible command, but when autoscroll started and trim began with autoscroll the session reversible command was not created for for Trim Drag.
Paul Davis [Fri, 23 Jan 2015 17:25:24 +0000 (12:25 -0500)]
add write tester script
Paul Davis [Fri, 23 Jan 2015 17:25:14 +0000 (12:25 -0500)]
adjust sftest.cc to be more usable as a write-bandwidth tester
Paul Davis [Fri, 23 Jan 2015 17:24:53 +0000 (12:24 -0500)]
fix small bug when using -N for nocache
Paul Davis [Thu, 22 Jan 2015 17:52:06 +0000 (12:52 -0500)]
split apart read and write chunk size and offer platform-dependent sizes for reading. Write chunk size should remain unchanged from before.
Robin Gareus [Fri, 23 Jan 2015 01:16:21 +0000 (02:16 +0100)]
fix crash at exit if location-ui was used
LocationEditRow members are destroyed after ~LocationUI()
destroys the clock_group. -> segfault in ~LocationEditRow()
Ben Loftis [Thu, 22 Jan 2015 21:00:13 +0000 (15:00 -0600)]
move control app button adjacent to sample rate and bufsize settings
Ben Loftis [Thu, 22 Jan 2015 20:54:56 +0000 (14:54 -0600)]
remove channelcount selectors for mixbus
Paul Davis [Thu, 22 Jan 2015 17:21:15 +0000 (12:21 -0500)]
really re-fix linux cache clear
Robin Gareus [Thu, 22 Jan 2015 17:16:07 +0000 (18:16 +0100)]
calculus is a lost art.
Paul Davis [Thu, 22 Jan 2015 17:15:39 +0000 (12:15 -0500)]
fix buffer cache flush for linux, and avoid incorrect indirection in interleaved case
Paul Davis [Thu, 22 Jan 2015 16:38:28 +0000 (11:38 -0500)]
Revert "use product-neutral name for LV2 install dir"
This reverts commit
44ca3c948c00a5403400d8cd46e5258ab13ff5be.
Paul Davis [Thu, 22 Jan 2015 16:27:49 +0000 (11:27 -0500)]
adjust run-readtest.sh so that it can be used as-is for testing multiple blocksizes
Paul Davis [Thu, 22 Jan 2015 16:22:29 +0000 (11:22 -0500)]
remove useless error output
Paul Davis [Thu, 22 Jan 2015 02:20:07 +0000 (21:20 -0500)]
use product-neutral name for LV2 install dir
Robin Gareus [Wed, 21 Jan 2015 21:26:14 +0000 (22:26 +0100)]
update selection clock
Robin Gareus [Wed, 21 Jan 2015 19:24:39 +0000 (20:24 +0100)]
set Theme buttons on state reset
cleaner version of last commit, set GUI elements
on state-reset.
Robin Gareus [Wed, 21 Jan 2015 18:41:15 +0000 (19:41 +0100)]
initialize theme > gradient sliders.