a223b96725
fix mute automation for busses & consolidate code.
2016-06-08 15:39:04 +02:00
fce6ac0ef6
consistent API name for region-list
2016-06-08 15:39:04 +02:00
f05ff9570e
fix faderport's use of action name
2016-06-07 19:25:33 -04:00
83770f839b
minor optimization when search for actions
2016-06-07 19:25:11 -04:00
73f3abedea
make it possible to disable VisibilityTracker's use of WM visibility
2016-06-07 18:29:03 -04:00
04997080a4
add meta-data placeholders for post-export command
...
needs testing on windows with UTF8
2016-06-07 16:57:17 +02:00
78ad42fd88
fix up logic that connects ControlGroups and RouteGroups
...
This makes deactivating a RouteGroup also stop the ControlGroups from having any effect
2016-06-07 09:48:17 -04:00
d511d62f65
OSC: reset select strip on bank change or select for non-existing stripable.
...
Fixes crash when selecting unused strip and then changing bank.
2016-06-06 23:40:35 -07:00
ee1046bbed
OSC: Respond to GUI select.
2016-06-06 14:54:33 -07:00
3c0fd1a115
remove incorrect allocation of a second VCAManager in a session.
...
Fixes warning about a SessionHandleRef at session close
2016-06-06 16:15:25 -04:00
nick_m
36f3291a9c
Ensure correct lock style before setting position.
2016-06-07 06:14:47 +10:00
nick_m
86db26ff16
MidiRegion ctor inherits length_beats.
...
- fixes incorrect length on drag-copying and pasting
midi regions.
2016-06-07 06:12:41 +10:00
nick_m
9488201a2c
Region ctor inherits position, start and beat.
2016-06-07 06:10:55 +10:00
9a50d15c7f
fix crashing bug in Pane when accessing dividers
2016-06-06 16:05:43 -04:00
5700296cb6
add a destructor for Gtkmm2ext::Pane that unparents the children.
...
This seems to be required, although there is confusion in Gtkmm3 about this.
2016-06-06 16:05:25 -04:00
nick_m
288ebbe5a7
Fix initialization of Region::_beat.
2016-06-07 03:00:28 +10:00
nick_m
6a622d86dc
Fix midi region split, trim and move operations.
...
- there is still the problem of being unable to drag
a trimmed region to the left when it's source
(not it's position) would end up on a negative beat.
2016-06-07 02:14:31 +10:00
nick_m
92fdf7deda
Region always sets position before length.
2016-06-07 02:12:04 +10:00
da5119583a
there is no remote model choice anymore - ordering is determined by the GUI
2016-06-06 12:04:45 -04:00
cde50f847f
MSVC won't allow floating point types to be mapped directly to enums
2016-06-06 09:07:45 +01:00
cb7e8025f2
Accommodate newly introduced source(s) in our MSVC project (ardour_osc)
...
(also, libardour_osc now needs to link to libardour_timecode)
2016-06-06 09:06:08 +01:00
cce4726c4c
OSC: More controls in /select/*, off by one fixed
2016-06-05 22:30:14 -07:00
nick_m
f0f2e3bb71
Consolidate notifications when MidiRegion changes length due to position change.
2016-06-06 14:26:43 +10:00
2c0396c9aa
fix Session::get_remote_nth_stripable() to use zero-based numbering
2016-06-05 20:50:57 -04:00
6520548fc2
extend/modify PresentationInfo to make searching for routes via Session::get_remote_nth_stripable() work
2016-06-05 20:50:57 -04:00
5bbfac2380
OS X clang build issue fix
2016-06-05 18:00:48 -04:00
91ad3ef81d
don't connect to individual PresentationInfo signals per Stripable; we only reorder strips once, when the global signal arrives
2016-06-05 16:33:02 -04:00
dfcc8fd547
Stripable signals moved to PresentationInfo
2016-06-05 16:33:02 -04:00
6637260ac9
Stripable signals moved to PresentationInfo
2016-06-05 16:33:02 -04:00
d58cb3daa3
extensive changes to PresentationInfo API
...
Now handles color, partially.
2016-06-05 16:33:01 -04:00
e3e77475cd
fix registration of PresentationInfo enums
2016-06-05 16:33:01 -04:00
58f6b98662
extend comments to avoid unused-variable warnings from commented code
2016-06-05 16:33:01 -04:00
e4a588901b
change property names (not quark/strings) for RouteGroup properties to avoid collisions with new ones
2016-06-05 16:33:01 -04:00
nick_m
bd551e97ea
Midi regions recalculate their length in frames when moved/copied.
...
- should fix 6793
2016-06-06 03:54:23 +10:00
86607097d6
plugin support for Controllable::NotAutomatable
2016-06-05 19:05:05 +02:00
03d2939f27
OSC: Added feedback for /select
2016-06-05 07:25:54 -07:00
6e42d7b99e
prepare for LV2 non-automatable control ports
2016-06-05 14:45:24 +02:00
37b90c2a9e
refine self-automating plugin interface
...
* thin automation at end
* allow plugins to disable its internal write state (ctrl port)
* Debug messages
2016-06-05 14:44:54 +02:00
nick_m
b4a020cdf5
Fix ignored note_type in TempoMap::frames_per_beat_at().
2016-06-05 07:10:06 +10:00
3f336f2021
OSC: Bug fix for no monitor, bug fix heart beat on turned global feedback on.
...
Start select code.
2016-06-04 07:04:32 -07:00
56a5dd92af
allow latent self-automating plugins
2016-06-03 23:09:18 +02:00
nick_m
360f87b217
Fix FramedCurve Outside fill for curve.
2016-06-04 07:03:18 +10:00
nick_m
1eb8216408
More FramedCurve render work
...
- draw last point correctly if applicable
- comment intent.
2016-06-04 06:40:59 +10:00
nick_m
62be6b2ed8
Fix framed curve thinko.
...
- in FramedCurve, the first _point is used for the bounding box.
Don't confuse this with actual data.
2016-06-04 06:00:41 +10:00
ee0f073e8d
move from PresentationInfo::global_order() to PresentationInfo::order
2016-06-03 15:15:39 -04:00
e8379b3818
simplify PresentationInfo concept of order so that it is always global
...
Cases that need more complex sort orders (e.g. all routes, then all vcas then master) need
to take of this themselves
2016-06-03 15:15:39 -04:00
1550f3af35
NOOP: space required
2016-06-02 19:19:22 -04:00
8e4c6f7f5a
fix creating aux-busses from templates, reset return-bitslot
2016-06-02 22:25:41 +02:00
8566d898b5
fix possible deadlock replacing processor state.
2016-06-02 22:25:41 +02:00
a0fad16648
change name of a Session method to makes its intended function clear
2016-06-02 14:46:35 -04:00
3b58010c8c
mark session dirty on creation/deletion of a VCA
2016-06-02 14:46:35 -04:00
nick_m
575bb7792f
Small cleanup in FramedCurve.
2016-06-03 02:02:50 +10:00
nick_m
8f88f42ba9
Fix assorted drawing bugs in framed curve.
...
- treat drawing area of boxes and curves similarly.
- handle a redraw request between
the last sample and the last point.
2016-06-03 00:00:31 +10:00
a047d814f6
fix case where pane divider is not redrawn after a leave event.
2016-06-01 22:30:17 -04:00
d680c1f1db
fix styling of pane dividers (the original reason for the "*Pane*" widget=>style spec)
2016-06-01 22:23:34 -04:00
6e258e0ade
OSC: Fixed some button type commands to have path only as well as path f
2016-06-01 14:27:30 -07:00
0531d0dd0c
save version string with session for informational purposes
2016-06-01 22:43:40 +02:00
85a9ff8007
fix crash during session deletion while removing VCA masters
2016-06-01 15:15:13 -04:00
eeed8edf82
isspace
2016-06-01 19:19:09 +02:00
10a91850f2
strip trailing whitespace from lv2 log message
2016-06-01 19:01:13 +02:00
81a2fe39e8
port 7e716d27
to XFadeCurve
2016-06-01 17:48:33 +02:00
nick_m
7e716d27a8
Fix conditional on uninitialised idx (via n_samples) in framed curve.
...
- possibly fixes drawing artefacts in the tempo curve.
2016-06-02 01:11:23 +10:00
46ae5aa9d1
Class 'VCAManager' needs to be visible from outside libardour
2016-06-01 14:30:30 +01:00
17f1132545
Accommodate recently introduced/removed source(s) in our MSVC project (libardour)
2016-06-01 14:30:28 +01:00
38ab8dee90
Accommodate recently introduced source(s) in our MSVC project (ardour_osc)
2016-06-01 14:30:28 +01:00
7d770293e9
Accommodate recently introduced source(s) in our MSVC project (gtkmm2ext)
2016-06-01 14:30:27 +01:00
f592b6c07b
Accommodate recently removed source(s) in our MSVC project (libpbd)
2016-06-01 14:30:26 +01:00
38a955fbe7
update lua bindings (tempo-ramps, VCA,...)
2016-06-01 15:12:14 +02:00
67083d65e4
add lua/C++ dynamic_cast<>
2016-06-01 13:59:31 +02:00
79245a296b
remove duplicate call: MeterSection is-a MetricSection
2016-06-01 13:58:37 +02:00
d60200c899
OSC: finish /set_surface group of commands.
2016-05-31 22:04:25 -07:00
e0908a4154
fix windows/lua bindings
...
...this needs a better solution...
2016-06-01 05:13:43 +02:00
2f94e2de23
32bit compatibility
2016-06-01 04:29:08 +02:00
761ce9c914
allow StripWidth icon to draw properly on non-square buttons
2016-06-01 03:06:14 +02:00
a03217c27f
update lua bindings for API changes
...
luaBridge implicit inheritance uses a single direct parent
(other parents object need casts). This motivates
Route -> Stripable -> SessionObject
2016-05-31 23:51:22 +02:00
f87cd4435d
allow lua binding functions with up to 9 parameters
...
e.g new_midi_track()
2016-05-31 23:51:22 +02:00
14b4bac7f2
comment out a DEBUG_TRACE statement that causes issues for clang, reasons are unclear
2016-05-31 17:39:38 -04:00
9ff3c55e34
OSC: Paths changed, feedback added, etc.
2016-05-31 14:09:38 -07:00
c69ef7aa37
Surfaces: Metering could only handle one surface at a time.
2016-05-31 13:53:11 -07:00
5308293597
fix conditional used to decide whether to copy old config files
2016-05-31 15:30:46 -04:00
eaf7677913
adjust theme search path
2016-05-31 15:30:46 -04:00
8c74a1b99c
make pane divider placement a little safer
2016-05-31 15:30:45 -04:00
e4cfa1d955
infrastructure for finding theme files
2016-05-31 15:30:45 -04:00
47b85c3845
fix default pane divider cursor for vertical panes
2016-05-31 15:30:45 -04:00
4ef8e862b3
shrink down pane divider/handle width
2016-05-31 15:30:45 -04:00
0baedac4f4
fix pane behaviour when children are hidden/shown
2016-05-31 15:30:45 -04:00
229b026356
explicitly expose dividers
...
hmm, seems important to understand how this worked before
2016-05-31 15:30:45 -04:00
7c6cfd9fa0
more sensible API for Pane::set_child_minsize
2016-05-31 15:30:45 -04:00
d8b02be745
provide a mechanism to avoid allocating too small of a space to a Pane child
...
Gtk::Notebook throws an assertion if allocated too small a space during drawing (at least with Clearlooks)
2016-05-31 15:30:45 -04:00
f03f2e5c3f
use new record safe control in surface support
2016-05-31 15:30:45 -04:00
2ac7108ccb
use new record safe control in libardour
2016-05-31 15:30:45 -04:00
203cf3ce7c
new RecordSafeControl control
2016-05-31 15:30:45 -04:00
067616a84f
various work on Pane, including cursors, more styling stuff, and making the forall_vfunc safe against gtk_container_remove
2016-05-31 15:30:45 -04:00
9694a3181b
Pane: use style-provided colors, and change colors on enter/leave/dragging
2016-05-31 15:30:45 -04:00
3c4503a849
fix use of widget allocation origin in Gtkm2mext::Pane
2016-05-31 15:30:45 -04:00
29b9c4ecc3
set default pane divider position to 0.5
2016-05-31 15:30:45 -04:00
ce68505a51
working but incomplete version of new Pane replacement widget
2016-05-31 15:30:45 -04:00
28afaebdc4
fix SNAFU in which Stripable::rec_enable_control() was incorrectly defined as ::recenable_control()
...
Make Mackie support code use the Stripable to access the rec-enable control while we're here
2016-05-31 15:30:45 -04:00
983a8f3f3c
remove debug output
2016-05-31 15:30:44 -04:00
109be3b4f3
remove debug output
2016-05-31 15:30:44 -04:00
a448b5ea12
no-op: explanatory comments
2016-05-31 15:30:44 -04:00
66c7ef1fb5
no-op: explanatory comments
2016-05-31 15:30:44 -04:00
fefbc4df01
fix typo in definition of solo-safe automation control (fixes solo)
2016-05-31 15:30:44 -04:00
624743572c
reduce number of Controls attempted for auto-slave-on-assign; use just a single definition
2016-05-31 15:30:44 -04:00
027caa4207
add new API to InstrumentInfo to get program names in a very slightly different format
2016-05-31 15:30:44 -04:00
f022784014
convert editor routes code to use Stripable
2016-05-31 15:30:44 -04:00
2380bbae5b
remove useless code recently added to RouteGroup
...
When a slaved automation control is changed because of a Master changing
its own value, the slave notifies about the change with NoGroup as the
GroupControlDisposition. There is therefore no need to disable a RouteGroup's
enabled status for its ControlGroups - the changes initiated by any Master
will not propagate to the group (which is precisely what we intend)
2016-05-31 15:30:44 -04:00
405fda66f7
basics of printing bindings as HTML
2016-05-31 15:30:44 -04:00
d09b466f05
VCA: fix numbering scheme to allow contiguous numbers after removing the last VCA; remove unnecessary remote_control_id() method
2016-05-31 15:30:44 -04:00
d98e47cf54
remove debug output
2016-05-31 15:30:44 -04:00
55791301c3
no-op: move some declarations
2016-05-31 15:30:44 -04:00
fe1d27444b
don't store shared_ptr<VCA> in functor for Drop or DropReferences signal from VCA in Slavable
2016-05-31 15:30:44 -04:00
dc3ebc8eec
use (possibly null) macros to mark VCAs for boost shared ptr debugging
2016-05-31 15:30:44 -04:00
fc14f1f2ed
add macro for boost shared ptr debugging of VCAs
2016-05-31 15:30:44 -04:00
6c61194710
provide mechanism for "drop all slaves" for VCA master
2016-05-31 15:30:44 -04:00
b5869ac0a4
fix issues with route group assignment to control master
2016-05-31 15:30:43 -04:00
637379d7a2
fix some bugs with unassigning from a control master
2016-05-31 15:30:43 -04:00
57f4706204
provisional code to support assigning an entire RouteGroup to a VCA master
2016-05-31 15:30:43 -04:00
0e830fb6ec
add ::n_vcas() method to VCAManager
2016-05-31 15:30:43 -04:00
a48888e688
add slaved_to() and slaved() methods to VCA
2016-05-31 15:30:43 -04:00
b2df48263b
add generic ::slaved() method to Route
2016-05-31 15:30:43 -04:00
a2704dbff8
use correct signal to select route from generic MIDI, and add explanatory comment
2016-05-31 15:30:43 -04:00
08f01085de
remove now-redundant control protocol route-selection signals
2016-05-31 15:30:43 -04:00
c438ba2b6e
remove no-longer-used TrackSelectionChanged signal from ControlProtocol
2016-05-31 15:30:43 -04:00
7f4880ad12
use correct types in arguments to Session::get_remote_nth...()
2016-05-31 15:30:43 -04:00
0d9433aef6
remove no-effect handling of route active-status change in Mackie Control code
2016-05-31 15:30:43 -04:00
4f76f26634
remove debug output
2016-05-31 15:30:43 -04:00
9d2538ae72
remove any reference to Route in Generic MIDI support (basically a NO-OP)
2016-05-31 15:30:43 -04:00
d31527f2e6
improve/extend Session::controllable_by_descriptor()
2016-05-31 15:30:43 -04:00
c448b805d1
fix implementation of Session::get_remote_nth_stripable()
2016-05-31 15:30:43 -04:00
05647470ef
add required MuteControl method
2016-05-31 15:30:43 -04:00
2ff7821128
expand and correct accepted syntax for ControllableDescriptor strings
...
note: manual needs updating to reflect this
2016-05-31 15:30:43 -04:00
31a8f01d16
fix thinko in use of sizeof() for bitshifting
2016-05-31 15:30:43 -04:00
cefd3ac8be
convert faderport to use Stripable instead of Route
2016-05-31 15:30:43 -04:00
7eb2d1d16d
make ::muted_by_others_soloing() part of the Muteable API
2016-05-31 15:30:43 -04:00
7321e1b4a2
add MonitorProcessor accessor to Stripable API
2016-05-31 15:30:43 -04:00
186209c03c
fix crash in mackie code caused by assumption that all Stripables have meters
2016-05-31 15:30:43 -04:00
83052ad18c
clean up debug output for OrderKeys
2016-05-31 15:30:42 -04:00
2c27b3df93
improve debug output
2016-05-31 15:30:42 -04:00
201c5825ac
remove debug output
2016-05-31 15:30:42 -04:00
6ef7139fb3
missing initialization
2016-05-31 15:30:42 -04:00
2c9c210213
manually fix rebase/merge issues caused by addition of plugin presets to methods which add a new track/bus
2016-05-31 15:30:42 -04:00
4b0a235f91
manually fix rebase/merge issues for Mackie Control support
2016-05-31 15:30:42 -04:00
01890af71e
temporarily remove Session::new_midi_track from lua api
2016-05-31 15:30:42 -04:00
4b7bbacaaa
make mackie surfaces aware of VCAs
2016-05-31 15:30:42 -04:00
c34ad3a723
convert Mackie Control Surface support to use Stripable, not Route
2016-05-31 15:30:42 -04:00
1a8769ab03
add two more AutomationControl fetch methods to Stripable
2016-05-31 15:30:42 -04:00
937af04ba0
more const value_as_string fixes
2016-05-31 15:30:42 -04:00
14fb1367a2
fix check for order max in PresentationInfo::parse (string&)
2016-05-31 15:30:42 -04:00
38dde7f818
add Session::get_stripables()
2016-05-31 15:30:42 -04:00
d7cce2ff7d
implementation side of Controllable::get_user_string() with const arg
2016-05-31 15:30:42 -04:00
99bc6a4290
add two more AutomationControl fetch methods to VCA
2016-05-31 15:30:42 -04:00
dd57a83793
add Stripable analogs for Route signals and methods in ControlProtocol
...
These will go away once all surfaces have migrated to Stripables
2016-05-31 15:30:42 -04:00
96faa622ee
fwd declaration of Stripable and associated lists
2016-05-31 15:30:42 -04:00
534b2de35b
Add PanControllable::get_user_string() (provide indirect access to Panner::value_as_string(); make ::get_user_string() use a const arg everywhere
2016-05-31 15:30:42 -04:00
8346fab567
remove irrelevant, out of date and incorrect comment
2016-05-31 15:30:42 -04:00
d5127001bb
move ControllableDescriptor from libpbd to libardour; add support for describing VCAs
2016-05-31 15:30:42 -04:00
e0ff70cf86
first vaguely working version using PresentationInfo
...
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
0ab10bf8e3
API and implementation tweaks for destroying VCAs
2016-05-31 15:30:42 -04:00
f485cfa324
rearrange inheritance so that Automatable IS-A Slavable
...
Share assign code via Slavable; add visibility tags to Slavable+SlavableAutomationControl
2016-05-31 15:30:41 -04:00
eee3837245
remove explicit setting of Toggle flag for AutomationControls
...
Make it be based on the ParameterDescriptor, which indicates toggle status anyway
2016-05-31 15:30:41 -04:00
52b150ba5d
generalize VCA assign/unassign code.
...
Need to share this approach across Slavables
2016-05-31 15:30:41 -04:00
f2984260d4
add rec-enable and monitor controls to VCAs
2016-05-31 15:30:41 -04:00
1e9b2abe73
save and restore vca assignments
2016-05-31 15:30:41 -04:00
83e51ee69b
add Slavable API for VCA assign/unassign
2016-05-31 15:30:41 -04:00
84a0386f9c
new files
2016-05-31 15:30:41 -04:00
be4e898996
improve cleanup of VCA related objects
2016-05-31 15:30:41 -04:00
51064f77a8
fix compiler issues with pair<T1,T2> construction
2016-05-31 15:30:41 -04:00
d0f5958542
fix chaining of masters for boolean controls
2016-05-31 15:30:41 -04:00
a48fada3c7
move new fractional pane utility functions into libs/gtkmm2ext
2016-05-31 15:30:41 -04:00
b9ba91ac1d
fix solo isolate controls
2016-05-31 15:30:41 -04:00
a89b3f5687
clear all solo state should affect VCAs too
2016-05-31 15:30:41 -04:00
5b5e64d860
remove Route::listening_via_monitor()
...
This is better tested with direct use of the solo_control and
Config->get_solo_controls_are_listen_controls()
2016-05-31 15:30:41 -04:00
01bba9f910
fix backend logic for PFL/AFL when mastered
2016-05-31 15:30:41 -04:00
69250b64ea
move ever close to working master/slave logic, this time with audio testing
2016-05-31 15:30:41 -04:00
bce617375e
fix return type of SlavableAutomationControl::get_boolean_masters() to make it usefl
2016-05-31 15:30:41 -04:00
9e70384ccf
fix solo control to use VCA logic as worked out for mute
2016-05-31 15:30:41 -04:00
0ef0492cbb
remove debug output
2016-05-31 15:30:41 -04:00
3fe50951e4
fix call to base class
2016-05-31 15:30:41 -04:00
8ee6603561
design changes to various SlavableAutomationControls to make it possible to get the logic right for boolean controls
2016-05-31 15:30:41 -04:00
01aefd236a
move SlavableAutomationControl into its own header
2016-05-31 15:30:41 -04:00
6de4953be8
a variety of changes that get closer to correctly functioning behaviour for VCA solo+mute (BUT ARE NOT DONE YET)
2016-05-31 15:30:41 -04:00
7d493b091a
do not route AutomationControl changes to an RT thread if we are loading a session
2016-05-31 15:30:40 -04:00
4a30e1f4c8
add Session::loading() to allow easy detection of "session is being loaded" condition
2016-05-31 15:30:40 -04:00
e1bcd70712
a slew of as-yet incomplete work to get VCA solo+mute closer to working
2016-05-31 15:30:40 -04:00
86a9fb2844
stop crash caused by missing conditional
2016-05-31 15:30:40 -04:00
cba56ade87
fix logic for Session::solo_control_mode_changed()
2016-05-31 15:30:40 -04:00
b042072df4
fix logic for removing an AutomationControl from a ControlGroup
2016-05-31 15:30:40 -04:00
b2b5c965c8
some tweaks for solo logic to get things working as they were before (correctly)
2016-05-31 15:30:40 -04:00
5499bad836
add back some amount of XML save/restore for route controls
2016-05-31 15:30:40 -04:00
0cf89e76ef
add new enums
2016-05-31 15:30:40 -04:00
e9d72383c7
extend function of Automatable::control_factory() [ this may be the wrong design ... review coming ]
2016-05-31 15:30:40 -04:00
2ca819c00b
add track controls to its Automatable self
2016-05-31 15:30:40 -04:00
8fc1876626
do not non-automable controls to an Automatable's list of what can be automated
2016-05-31 15:30:40 -04:00
2c6d595614
add a new Controllable::NotAutomable flag
2016-05-31 15:30:40 -04:00
4aa1c242ab
add new files to source tree
2016-05-31 15:30:40 -04:00
653ae4acd6
universal change in the design of the way Route/Track controls are designed and used. The controls now own their own state, rather than proxy for state in their owners.
...
Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
2016-05-31 15:30:40 -04:00
194b213456
add implicit mute state to MuteMaster and use when a master of a mute control is enabled/disabled. Add AutomationControl::master_changed() as a virtual method to handle ... master value changes
2016-05-31 15:30:40 -04:00
5531c83496
change API of Controllable::Changed signal to include (from_self, GroupControlDisposition)
...
This allows the signal to convey more information, which may be required by some handlers of a control's Changed signal
2016-05-31 15:30:40 -04:00
4b36593106
fix faderport and mackie to use route AutomationControls to be notified about solo/mute changes
2016-05-31 15:30:40 -04:00