13
0
Commit Graph

15802 Commits

Author SHA1 Message Date
nick_m
6b9415aedb 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.
2015-02-06 21:54:27 +11:00
ec37c83507 fixup cherry-picked changes from Waves Tracks, and fix for Ardour 2015-02-05 20:26:02 -05:00
7644533103 implement RangeMarkerBarDrag::abort
Conflicts:
	gtk2_ardour/editor_drag.cc
2015-02-05 19:34:31 -05:00
e6752fb729 implement MarkerDrag::abort() 2015-02-05 19:33:31 -05:00
78e245d0b5 do not attempt to call an empty/null boost functor in clear_events() 2015-02-05 18:03:40 -05:00
7ffc06b08d fix issue with region dragging while mouse pointer is in rulers/marker lanes 2015-02-05 17:42:46 -05:00
c76523aeaa fix bad fix for cherry-pick conflict 2015-02-05 16:49:14 -05:00
e8b6f852f6 make two obvously const methods actually be const 2015-02-05 16:36:09 -05:00
e72a4ec850 modify behaviour of session when updating skips to use new SessionEvent API
Conflicts:
	libs/ardour/ardour/session.h
	libs/ardour/session.cc
2015-02-05 16:35:56 -05:00
ec9c6a58e2 add SessionEvent::Action to libs/ardour enums registration 2015-02-05 16:32:33 -05:00
6790f8342a 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.
2015-02-05 16:32:21 -05:00
4010884a5b 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())
2015-02-05 16:32:10 -05:00
7152634104 set name of GUI event loop thread 2015-02-05 16:31:59 -05:00
927f5521ce ContentEdit drag on empty MIDI track should not create new midi regions 2015-02-05 12:24:11 -06:00
nick_m
63935a86a4 Rework previous commit to avoid extra property lookup (fwiw). 2015-02-06 01:09:04 +11:00
nick_m
2d8b7c352b 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).
2015-02-06 00:53:12 +11:00
nick_m
ff13ac8b4f Clean up Session's _current_trans when aborting a drag. 2015-02-05 23:32:57 +11:00
nick_m
f9b2587458 Make redo action insensitive after new command.
Don't erroneously send first_move more than once after autoscroll drag.
2015-02-05 19:57:56 +11:00
40c8c26b79 remove duplicate callback
mcontrol->Changed is [also] subscribed to further below (input & output).
2015-02-04 18:04:33 +01:00
b4a0136155 tweak to help with uncoalesced renders 2015-02-03 17:35:37 -06:00
9fab39358a 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.
2015-02-03 15:38:14 -05:00
2689848ed7 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.
2015-02-03 11:57:38 +00:00
23622f4fba OSX packaging: fix disk-image "Resource busy"
see http://lists.apple.com/archives/darwin-dev/2008/Sep/msg00030.html
2015-02-02 18:46:26 +01:00
3e6eaa0656 Remove remaining LEVEL4 bindings 2015-02-01 17:21:02 -06:00
39b1b6d6dc Fix Session Export keybinding to call correct action (ExportAudio).
Still broken though, due to ongoing Mod4><Super binding confusion.
2015-02-01 16:59:01 -06:00
afa3db001c make it possible to bundle harrison plugins; osx version (disabled for now) 2015-01-30 11:46:06 -06:00
871904b648 fix cursor color for text entries 2015-01-30 10:26:27 -06:00
45f874cfab remove locate before loop, which was causing intermittent loop behavior 2015-01-30 10:26:27 -06:00
d79980d571 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.
2015-01-30 11:08:56 -05:00
e874bc0be1 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.
2015-01-30 14:55:23 +00:00
0018ee2b02 fix “invalid use of incomplete type jack_client_t”
introduced in 66eef25
2015-01-30 11:02:07 +01:00
fe0254344f clarify sync-lock and disable it by default. 2015-01-30 10:43:56 +01:00
f15236b9a0 amend 070818f 2015-01-30 10:43:56 +01:00
bdfe32c086 stop transport when process_routes fails, even when using the parallel graph execution model 2015-01-29 22:00:05 -05:00
de8a8272bc fix incorrect return value from sndfile_data_width() 2015-01-29 21:59:55 -05:00
070818f884 take down backend specific threads with backend 2015-01-30 01:28:52 +01:00
66eef257d8 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.
2015-01-30 01:28:52 +01:00
55ba5208b9 return to old default disk chunk read size 2015-01-29 18:49:04 -05:00
17b8d9836d don't wipe out SHIFT from event state when processing keyboard events, as done in a recent commit 2015-01-29 12:16:18 -05:00
f603ca174e in mixbus, treat the canvas rulers just like the canvas wrt mouse-wheel-zoom 2015-01-29 11:23:49 -06:00
59bbb8500b consolidate using SECONDARY+number bindings for region properties, such as gain, mute, etc 2015-01-29 11:03:54 -06:00
ff2ebf17b8 switch WINDOW bindings to use SECONDARY instead and displace any bindings that conflicted 2015-01-29 11:03:54 -06:00
d8a01eb93e fix up and comment fmt-bindings tool 2015-01-28 21:05:12 -05:00
dab3346623 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.
2015-01-28 21:03:03 -05:00
def2147b4c fix -Wreorder in 6377fe89 2015-01-29 02:28:25 +01:00
c11a7a1bd7 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.
2015-01-29 02:13:33 +01:00
a4e159b1c0 Map window bindings to alt.
As they were before, got caught in the crossfire of super key bindings fix.
2015-01-28 18:52:54 -05:00
6b360950ce guess what?! 2015-01-28 23:50:07 +01:00
bc3f606e16 add lv2core to bundles
The ontology is needed for plugin classification.
2015-01-28 23:08:06 +01:00
9f93df0313 readtest: calculate running average and stddev 2015-01-28 17:29:33 +01:00