13
0
Commit Graph

12456 Commits

Author SHA1 Message Date
8d83df7257 remove debug output from PresentationInfo changes 2017-02-09 16:49:11 +01:00
8243aeb3a1 remove debugging stacktrace from mackie code 2017-02-09 12:47:25 +01:00
b572f1a617 fix save_as()' inadvertent marking a session as dirty during the process of saving state to disk 2017-02-09 12:40:59 +01:00
3dbea92519 NO-OP: whitespace removal 2017-02-09 12:40:59 +01:00
2f0dc08844 when adding a default start/end range to a Location while saving a template, do not mark the current session dirty 2017-02-09 12:40:59 +01:00
4572b909ac Add a VC project for building the ardourvampplugins 2017-02-09 09:39:53 +00:00
994f5cec0e centralize computation of tempo from SMF information 2017-02-08 19:07:10 +01:00
bbbb874c03 an automation control that has to do things before its value is set in an RT context should potentially tell its ControlGroup
This fixes record-enable controls in a group failing generate
a call to the required stuff for tracks (moving meter position,
preparing diskstream) #7213
2017-02-08 18:55:05 +01:00
nick_m
2d47705998 5.5 incorrectly marked the initial tempo as not locked to meter.
- the initial tempo must always be locked to meter,
	  so i think it is safe to explicitly set it anyway.
2017-02-08 09:58:15 +11:00
948a041736 remove debug output 2017-02-07 17:09:28 +01:00
e42c0ff1ea only reverse propagate solo-by-others-downstream if connections on a Route change, not just configuration changes.
This prevents a scenario where the route has had its solo control's state set from
XML, but then we configure the route's output, and invoke output_change_handler().
Without the new conditional, this would check which downstream routes are soloed,
find none, and then unset the soloed-by-downstream state of the solo control.
2017-02-07 16:51:32 +01:00
08657843ac don't call shared_from_this() for every route when doing solo-downstream propagation 2017-02-07 16:51:32 +01:00
nick_m
2e8e5f14fd fix legacy session where initial tempo was not locked to meter, 2017-02-08 02:23:54 +11:00
e16141c9aa Tweak output formatting of save_all_bindings_as_html 2017-02-06 12:52:39 -06:00
7a1404ff8b use new PBD::Controllable API to correctly save solo and mute controls, which may be slaved to a master 2017-02-06 16:49:08 +01:00
5d5d9b8114 add new API to PBD::Controllable, ::get_save_value()
Designed to allow derived classes to *save* a different value
than would be reported by ::get_value().

Specifically there so that slaved controls can save/restore
their *own* state, not the value that ::get_value() would
return.
2017-02-06 16:49:08 +01:00
edd1061c3d save/restore VCA master state inside slaves, so that a reloaded session ends up back in the same state 2017-02-06 16:49:08 +01:00
4b7d902cc0 Modify our MSVC project to build the newer qm-dsp plugins 2017-02-06 09:49:22 +00:00
715b9a959a Remove a JE addition to one of the qm-dsp source files (no longer needed) 2017-02-06 09:47:10 +00:00
5dabe45341 Some minor changes in preparation for building the newer Vamp plugins 2017-02-05 15:05:32 +00:00
5c1efd864c fix type warning 2017-02-05 10:58:10 +01:00
nick_m
893d4e7a07 fix potential absorption of music-locked tempo into meter-locked one. 2017-02-05 00:30:13 +11:00
nick_m
f96d6894e8 remove unused empoMap::round_to_beat_subdivision() 2017-02-04 22:57:36 +11:00
nick_m
f751a0993b ensure region _quarter_note is set (factory). 2017-02-04 22:57:36 +11:00
nick_m
2ddc21c3a9 ensure region _quarter_note is set in offset ctor.. 2017-02-04 22:57:36 +11:00
nick_m
59daffea1d rework snap
snap now fills in a struct (MusicFrame) which contins a snapped frame
along with a music divisor.
this gives useful information wrt magnetic snap which may or may not
have rounded to an exact musical position.

region position may now be set musically (using quarter notes for now).

this patch fixes several problems in the current code:

	- dragging a list of music-locked regions now maintains correct
	  musical offsets within the list.

	- splitting regions using magnetic snap works correctly (#7192)

	- cut drag should now work correctly with magnetic snap.

	- musical length of split midi regions is no longer frame based.
2017-02-04 22:57:36 +11:00
a21a414615 another tweak to maybe-fix crash in Playlist::fade_range() 2017-02-03 23:03:01 +01:00
a1c15586e0 potential fix for crashes when creating fade-ranges 2017-02-02 23:02:48 +01:00
f74412c1e5 Export option to use snapshot name instead of session name 2017-02-02 12:40:26 +01:00
2721f2fc24 Reduce continuous stream of warning messages (latent plugin, PH @ zero) 2017-02-01 23:20:27 +01:00
ddd0e862ce Properly remember window position.
Querying the position of unmapped windows may or may not return a valid
position. -- the configure handler is also called after hiding a window.
2017-02-01 23:07:57 +01:00
f5d6c908ac canvas::grid - more tweaks and improvements 2017-02-01 21:58:20 +01:00
fa2c4c525b canvas::grid : compute all row/col extents 2017-02-01 21:58:20 +01:00
94443bab7e basics of row/col span for Canvas::Grid 2017-02-01 21:58:20 +01:00
2c9b0796a3 change Grid API to avoid unnecessary Duple and open door for row/col span 2017-02-01 21:58:20 +01:00
91908dde7e clear up some CSS padding/margin confusion, and add row/col spacing 2017-02-01 21:58:20 +01:00
14cb9ec795 canvas::grid starts being able to do its job a little 2017-02-01 21:58:20 +01:00
e616324683 add basic data members and methods for adding an explicit size allocation for Canvas::Item 2017-02-01 21:58:20 +01:00
52718b3411 some initial bits of work on canvas allocation 2017-02-01 21:58:20 +01:00
e75c713e5e make the leftmost mixer stripable API at least work as advertised 2017-02-01 11:57:37 +01:00
0f4530af0d add new API to ControlProtocol to allow GUI to specify left-most mixer strip
Subject To Change. Mileage May Vary. Offer Not Good In All Territories.
2017-02-01 11:46:42 +01:00
bb74bba1c7 mackie: catch data on what presentation info aspects changed; don't change banks on a PI change 2017-02-01 10:27:34 +01:00
9e7652ca62 debugging with markk: stacktrace on bank switch in mackie code 2017-01-31 20:12:04 +01:00
6f66fbbf73 remove recently added MackieControl DEBUG_TRACE msgs 2017-01-31 19:16:50 +01:00
1c9df390bc stop DEBUG_TRACE for MackieControl crashing in some conditions 2017-01-31 19:16:35 +01:00
0d72fe65a2 mackie: use "markN" for new markers, like the GUI (not "markerN") 2017-01-31 18:24:39 +01:00
7c517f6566 mackie: check modifier bits for button AFTER identifying possibly remapped button ID 2017-01-31 18:08:44 +01:00
efd222afe9 mackie: more debug tracing 2017-01-31 17:52:59 +01:00
58c1ff368c mackie: more debug tracing 2017-01-31 17:48:49 +01:00
9dc2ef28be mackie: more debug tracing for remapped buttons 2017-01-31 17:43:33 +01:00
8f13d33efe Revert "mackie: make profile-mapped keys maybe actually do something"
This reverts commit 0d7f88afbd.
2017-01-31 17:37:45 +01:00
de189721e8 Revert "mackie: improve previous commit - use button_id not button.bid() to make remapping work"
This reverts commit 16804e20c8.
2017-01-31 17:37:23 +01:00
16804e20c8 mackie: improve previous commit - use button_id not button.bid() to make remapping work 2017-01-31 17:31:10 +01:00
bfebad3dce Expose a new lua hook for resetting a plugin processor ( convenience func only: this avoids the necessity of an extra cast to PlugInsert ) 2017-01-31 10:35:37 -06:00
0d7f88afbd mackie: make profile-mapped keys maybe actually do something 2017-01-31 17:23:45 +01:00
404686d258 more mackie debug tracing 2017-01-31 17:05:30 +01:00
88dae1c766 improvement to last loop button commit for MCP 2017-01-31 16:29:22 +01:00
f55ebf26bd mackie support should use BasicUI::loop_toggle() 2017-01-31 16:10:23 +01:00
cdddf79bcf Generic MIDI controls should affect group members too, if they exist 2017-01-31 15:33:13 +01:00
2a7ad06e79 fix a-fluidsynth bank select (use MMA style, 14 bit MSB/LSB) 2017-01-31 10:44:07 +01:00
9a13a563d0 fix a-fluidsynth midnam bank select 2017-01-31 00:43:43 +01:00
f58a47419e Fall back to general MIDI synth for auditioning. 2017-01-30 16:41:56 +01:00
b424187be1 another action name fix for Push2 support 2017-01-28 19:16:24 +01:00
41aaee6fe9 fix action names in Mackie code after Editor=>Control migration 2017-01-28 18:51:03 +01:00
220fbbe0d8 fix another action name in BasicUI after Editor=>Control migration 2017-01-28 18:51:03 +01:00
e92c169275 fix action names in BasicUI after Editor=>Control migration 2017-01-28 18:51:03 +01:00
ade59c123c fix action names in Push2 support code 2017-01-28 18:51:03 +01:00
c8892f411a MCP GUI make surface numbering the same as port numbering and more explanatory. 2017-01-28 09:35:42 -08:00
390ce9bc4f mackie surface support changes actions recently moved to Common/* 2017-01-28 18:20:49 +01:00
8c7b0d1486 wiimote surface support changes actions recently moved to Common/* 2017-01-28 18:19:01 +01:00
e12e8716ba add VCA::full_name() which returns "VCA %n" : VCA %n" by default and "VCA %n : user-provided-name" if the name has been set 2017-01-28 16:06:28 +01:00
487ae58301 stop looping when deleting loop-range (fixes potential crash) 2017-01-28 12:05:50 +01:00
5e76d8537b improved (as in "correct") deadlock fix for PresentationInfo::Change 2017-01-28 11:10:18 +01:00
e998ef5a75 fix deadlock in mutex'ed PresentationInfo code 2017-01-28 09:57:21 +01:00
c3d0af413a MCP fix issue 7219 get GUI to show main surface for right port 2017-01-27 21:44:40 -08:00
2a95d79014 use a lock when dealing with PresentationInfo::Change emission
This allows us to emit the signal while still marking further emissions as blocked.
This in turns prevents handlers from recursively calling themselves.
2017-01-27 22:17:53 +01:00
4821def173 show what PresentationInfo::Change is being used for 2017-01-27 22:17:53 +01:00
8cb3c42548 use RAII for class-wide PresentationInfo::Change signal, along with properties to describe what changed 2017-01-27 22:17:53 +01:00
nick_m
1e397a83ad mark session dirty when moving range markers or altering location lock style. 2017-01-27 03:07:29 +11:00
nick_m
7b9784fff4 mark session dirty when dragging tempo markers. 2017-01-27 03:05:32 +11:00
nick_m
666ed3a0bd no-op - whitespace fix for libs/ardour/playlist.cc 2017-01-27 01:10:49 +11:00
484c3316d6 yet another case of misplaced parentheses during the removal of boost::optional from Canvas 2017-01-25 16:56:31 +01:00
49422aa89a another case of misplaced parentheses during the removal of boost::optional from Canvas 2017-01-25 16:54:29 +01:00
cce1c58198 This wasn't supposed to be pushed to master.
Revert "add basic data members and methods for adding an explicit size allocation for Canvas::Item"

This reverts commit d1c1d8df61.
2017-01-24 23:17:38 +01:00
d1c1d8df61 add basic data members and methods for adding an explicit size allocation for Canvas::Item 2017-01-24 22:45:22 +01:00
4a03572cd9 NO-OP: add a few spaces before function args 2017-01-23 21:58:02 +01:00
8b453f5f2a Safe Mode: disable VST scan 2017-01-23 19:53:18 +01:00
93f837b43e generic MIDI: put controllables into touch mode (if appropriate) when data is received 2017-01-23 13:25:56 +01:00
93192705bd at transport stop, clear all existing automation watches (touch) 2017-01-23 13:25:24 +01:00
Hiroki Inagaki
5a5ed37384 Update Japanese translation 2017-01-22 22:03:55 +01:00
247f8a0809 implement Session::route_by_selected_count() 2017-01-22 19:49:40 +01:00
2f1899d5dd PresentationInfo needs to emit Change for selection/hide/order 2017-01-22 19:49:40 +01:00
db981b6085 more consistent terminology in a comment 2017-01-22 19:49:40 +01:00
7daf620a8d add some comments 2017-01-22 19:49:40 +01:00
fff324ef7b Lua: bindings for do_import() 2017-01-21 20:18:27 +01:00
6f7f527e1d Lua add an Empty/Nil shared-pointer constructor 2017-01-21 20:18:27 +01:00
d0b42aee0e LuaBindings: prefer shared_ptr over weak_ptr 2017-01-21 20:18:27 +01:00
4a5abf61b0 don't repeat-hard-code names for 3 automation types.
Fixes warning during session loading
2017-01-21 15:41:16 +00:00
2b081ca642 use SSE/AVX for scaling gain automation buffer via masters' value 2017-01-21 15:22:38 +00:00
94c11ebd90 remove debug cruft from wscript for push2 that breaks with python3 2017-01-21 15:04:39 +00:00
94a136a6bf Amp is the one place where we generate a per-sample vector for automation playback. Scale this by the masters' value(s) if appropriate 2017-01-21 15:02:29 +00:00
2f530d4fd8 SlavableAutomationControl::get_value(), if doing automation playback, should still scale the returned value by the masters' value(s) 2017-01-21 15:01:16 +00:00
2dc392b517 update bbe62da55a - use last-modified-with, strip git-rev 2017-01-21 01:19:19 +01:00
7a36ce4925 Instrument insert options:
* allow to directly fan-out when adding a multi-channel instrument
 * Mixbus: move multi-channel instruments after Comp & EQ.
2017-01-21 00:38:43 +01:00
b588be2dea Instrument channel option when adding track
By setting strict-io on the Instrument plugin early during track
creation, adding the plugin will trigger a PluginSetup Dialog for
multi-out instruments in a strict i/o track.
2017-01-20 21:46:47 +01:00
b25cd7683b Allow Lua bindings up to 10 args 2017-01-20 21:23:05 +01:00
bbe62da55a Extract program version that a session was created with 2017-01-20 18:15:44 +01:00
de2612f7b4 remove cruft 2017-01-20 17:36:18 +01:00
99d284930d fix a -Wformat 2017-01-20 17:36:09 +01:00
8f8d0a70d8 Reap invalidation records 2017-01-20 13:54:03 +01:00
fbae5f5ffd Free dead request-buffers
This partially plugs a memory leak of event-loops.
2017-01-20 13:53:59 +01:00
f05a07837b MIDI leaks -- the Controllergate conspiracy debunked 2017-01-20 11:40:53 +01:00
02d484de8a Plug some libardour memory leaks 2017-01-20 11:32:55 +01:00
6b5dce2c66 Yet another pane pain: allow deleting children using forall_vfunc
We not only need to make sure the iterator remains valid, but also
the object pointed to.

Valgrind trace:
Invalid read of size 8
 Gtkmm2ext::Pane::forall_vfunc(int, void (*)(_GtkWidget*, void*), void*) (pane.cc:617)
 Gtk::Container_Class::forall_vfunc_callback(_GtkContainer*, int, void (*)(_GtkWidget*, void*), void*)
 gtk_container_destroy (gtkcontainer.c:1073)
 g_closure_invoke (gclosure.c:804)
...
 g_object_run_dispose (gobject.c:1084)
2017-01-20 03:13:41 +01:00
4ee8a0e9fc Plug a memory leak (recent session list, session info) 2017-01-20 01:49:23 +01:00
7e766be2cb Add a note. 2017-01-20 00:50:29 +01:00
b084036c87 Fix oddities when replacing VST-presets.
VST used the count of available of presets as URI:
 - add 2 presets (1,2)
 - remove first, add another one -> two presets with same URI (2,2)

PluginInfo::get_presets() simply lists all (name only) in a vector.
Plugin::find_presets() uses the URI in a map (unique by URI).

..various ensuing bugs: eg. Plugin::remove_preset() looked up by name,
but didn't check for NULL.
2017-01-20 00:50:14 +01:00
7617477609 Scale default Atom Ringbuffer size with samplerate
This increases the safe-margin for plugins producing more messages
sent to the plugin GUI (usually fixed ~25Hz updates)
2017-01-19 21:35:22 +01:00
5d7b6fdd62 ancillary change related to removal of boost::optional<Rect> 2017-01-19 20:55:38 +01:00
4fa4b9a135 remove use of boost::optional to define "undefined" Canvas::Rect, and use Rect::empty instead.
This commit includes Rect::operator bool() which might be a candidate for removal in a future commit, in an attempt
to make the meaning clearer
2017-01-19 20:54:54 +01:00
dc11651694 Relax monitor-section processor channel restriction 2017-01-19 18:32:45 +01:00
8fba1cacd7 Add some comment 2017-01-19 13:05:54 +01:00
9c08a403c4 Add alternative preroll record mode:
* Start recording at preroll, trim region to skip preroll at rec-stop
* Keep old punch-in rec-at-preroll API for tape-tracks (later)
2017-01-19 13:05:54 +01:00
e959a762b5 Rework preroll-rec API:
* rename: indicate that recording happens after preroll, punch-in
* move API into libardour: rec+roll (no separate setup, seek, roll APIs)
2017-01-19 13:05:54 +01:00
0f020e59b8 Move preroll duration calc into libardour 2017-01-19 13:05:54 +01:00
b4cf8cfc49 fix up Canvas::Grid child layout 2017-01-19 00:24:54 +01:00
73acd5b413 correct translation matrix for Canvas::Widget 2017-01-19 00:24:54 +01:00
c91c028c37 do not add items twice to their canvas parent! 2017-01-19 00:24:54 +01:00
efd10abdfb Implement record with preroll 2017-01-18 15:15:48 +01:00
a6e02c0d71 Implement Count-In (before recording), fixed BPM, up to 2 bars 2017-01-17 20:43:55 +01:00
fcbed9c1dc Split metronome methods into re-usable parts (for count-in) 2017-01-17 20:20:34 +01:00
88d797bd64 Prepare session-wide implicit monitoring overrides 2017-01-16 19:54:42 +01:00
88b3aa926a Accommodate newly introduced source(s) in our MSVC project (cairocanvas) 2017-01-16 15:21:47 +00:00
09a8ec534f canvas::grid: get padding and margin to work; remove some debug output 2017-01-15 21:40:42 +00:00
Hiroki Inagaki
777647259e Add Japanese translation 2017-01-15 15:37:38 +01:00
7c17327f56 get grid layout working 2017-01-15 12:13:03 +00:00
04e346a3d8 tweak Grid repositioning code to be a little more O(N) 2017-01-15 12:13:03 +00:00
99b86f0f05 basic (and probably wrong) Canvas::Grid child placement 2017-01-15 12:13:03 +00:00
0d1a083a5d include Canvas::Grid in build script 2017-01-15 12:13:03 +00:00
9ed87f6693 initial skeleton for a Grid canvas item 2017-01-15 12:13:03 +00:00
126dd02c85 Set rate and blocksize for multi-instance VSTs 2017-01-13 11:29:30 +01:00
38e47c2f5f Accommodate newly introduced source(s) in our MSVC project (ardour_osc) 2017-01-13 10:18:38 +00:00
cd14e8f2e1 add API to query name of bound action 2017-01-12 20:53:20 +01:00
c9715af5d9 OSC: We want to see aux buses even if the gui has them hidden 2017-01-11 19:57:19 -08:00
19e6273502 OSC: Fix aux mute to check stripable exists first 2017-01-10 22:09:30 -08:00
bcbe8424ad fix nested templates for ye ancient compilers of the worlde 2017-01-10 09:58:26 +00:00
74e38365e9 Fix MTC slave implicit return on transport-stop
MTC returns not-locked (no flywheel) when the signal is lost, in which case
Session::follow_slave() jumps to no_roll and ignores the slave-position.
The MTC slave does explicitly request a transport-locate and transport-stop.

Yet, Session::realtime_stop() honors _requested_return_frame for whatever
reason
2017-01-10 10:39:22 +01:00
27773ed1b3 OSC: Fix cue observer stop to zero controls 2017-01-09 19:05:38 -08:00
b073328700 OSC: Add Talent individual monitor controls 2017-01-09 18:56:22 -08:00
23076f3fc4 add XML names/handling for additional Parameter types.
This is still incomplete and really not generic. Ought to be revisited, but has backwards compatibility issues that make it more complex
2017-01-09 15:01:55 +00:00