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