Commit graph

12719 commits

Author SHA1 Message Date
nick_m
d06e710402 add TempoMap::next_tempo_section() 2017-02-27 20:16:10 +01:00
nick_m
393f095d95 fix TempoMap::frame_at_tempo(). 2017-02-27 20:16:10 +01:00
nick_m
97c4c2a28c complete changes to tempo type.
- this implements in the intention behind the previous commit.
	  a tempo mark is constant until its end has been changed by a
	  shift-drag on the next marker.
2017-02-27 20:16:10 +01:00
Ben Loftis
ac19a51d38 compile fix 2017-02-27 20:16:10 +01:00
nick_m
959f76c843 make new (ramped) tempi indidstiguishable from constant to the novice user.
- stretch drag (using shift on the curve) operates on
	  the true meaning of constant. in other words,
	  the only way you can make a tempo ramped is by adjusting the end
	  tempo (shift drag on the *next* mark). from this point onwards.
	  shift-drag the curve will change the start tempo and ctrl-drag
	  the curve will change the end (needs work). to reset the
	  curve to constant, 'make constant' should simply set the end
	  tempo (unimplemented).
2017-02-27 20:16:10 +01:00
nick_m
8b1baa2406 correct (?) behaviour of TempoMap::replace_tempo 2017-02-27 20:16:10 +01:00
nick_m
ccb51a8ddb rework tempo editing.
most changes are due to a new design where tempo discontinuities at the
beginning of a ramped section may be set.
this allows easier mapping of live performance, especially in
the common case of a ramped ritard before the beginning of a new section.

feature summary:

holding constraint modifier (shift) while dragging the BBT ruler area
drags the tempo lines by changing the start tempo (as before)

holding copy modifier (control) while dragging the BBT ruler area
drags the tempo lines by changing the end tempo (ahem. not quite there)

dragging a tempo mark while holding constraint (shift) will change the
previous end tempo to match the marker position *worth trying*.

holding constraint and copy modifier (control + shift) while dragging
the BBT ruler area attempts to'pinch' or twist the surrounding tempi
sp that later ones are not repositioned (currently suffereng from
rounding errors)
2017-02-27 20:16:10 +01:00
Paul Davis
e5c6f16126 fix crash caused by trying to connect monitor section before it has ports.
This does not fix the ordering issues caused by things happening
before the monitor section gaining ports
2017-02-27 16:40:53 +01:00
Paul Davis
67ba18d154 selected Stripables now have a counter to indicate the order they were selected in 2017-02-26 18:24:56 +01:00
Paul Davis
f1e6cc50b0 Revert "libs: debug output for faderport/editor mixer strip sync"
This reverts commit 6fb91b1ac2.
2017-02-25 19:56:51 +01:00
Robin Gareus
7d08584415 Add some missing luabridge::ClassInfo<>::getClassKey() - fix windows builds 2017-02-25 18:38:27 +01:00
Len Ovens
df52c8c748 OSC: correct busses spelling in GUI 2017-02-25 08:49:18 -08:00
Paul Davis
6fb91b1ac2 libs: debug output for faderport/editor mixer strip sync 2017-02-24 23:10:03 +01:00
Paul Davis
2b9525c991 try to make sure faderport shows the same strip as the editor mixer strip 2017-02-24 22:54:25 +01:00
Paul Davis
74548604be no-op: move method order in file 2017-02-24 22:54:25 +01:00
Robin Gareus
cd609fb9d8 add a missing class-key 2017-02-24 17:53:06 +01:00
Robin Gareus
24f070610c Save Lua script origin (for later updates) -- DSP plugin 2017-02-24 16:10:14 +01:00
Robin Gareus
81a0bdcc40 Add static class-keys for windows 2017-02-24 16:10:14 +01:00
Paul Davis
febd1d5c88 remove misleading/incorrect comment
The previously-commented code is precisely what gets invoked
when solo state changes, and had nothing to do with actually
changing solo state in any way.
2017-02-24 10:18:57 +01:00
Len Ovens
6fbdfa353b OSC: remove invalid feedback for solo and pan az. 2017-02-23 15:45:28 -08:00
Paul Davis
d3c43b88ae fix solo + mute controls when slaved
clamp/scale by masters only applies to non-boolean controls
2017-02-23 22:57:23 +01:00
Robin Gareus
d6ad3b3c08 Add static Class-Keys for Windows build 2017-02-23 22:32:32 +01:00
Robin Gareus
71fd94b422 LuaBridge: Dedicated type for pointer-lists and const version
"class C*" cannot be defined nor resolved, so STL containers
to class instance pointers need to be special-cased.
2017-02-23 22:32:32 +01:00
Robin Gareus
37dc93b40a luaBridge support const references to class-instance pointers
Support passing "T*" as as "const T* &"  argument
e.g. std::list<T*>::push_back ( const T* & )
2017-02-23 22:32:32 +01:00
Robin Gareus
e8cebac6a3 Constrain VCA slave value to controllable range
This prevents overshoot e.g. when writing automation (and related oddities)
2017-02-23 18:33:10 +01:00
Paul Davis
78823e3aa9 fix deadlock when assigning a VCA master 2017-02-22 18:27:26 +01:00
Robin Gareus
c12fa9c3cb Update processor Lua bindings 2017-02-22 15:24:33 +01:00
Robin Gareus
cdc8807728 Prepare re-locating missing external files. 2017-02-22 10:51:08 +01:00
Robin Gareus
6616330531 NO-OP; whitespace 2017-02-22 10:47:59 +01:00
Paul Davis
e60147d22d if a slave's masters are at zero, lock slave to zero and not NaN 2017-02-22 09:35:49 +01:00
Paul Davis
db7cf8ef14 fix thinko/typo which failed to notify when a VCA is unassigned 2017-02-21 18:50:32 +01:00
Robin Gareus
81bbeb51ea Add Lua binding to query monotonic time (in microseconds) 2017-02-21 16:15:13 +01:00
Robin Gareus
35f84bde6a Allow to access/load LuaDSP plugins with default plugin lua-bindings API 2017-02-21 16:15:13 +01:00
Robin Gareus
bdf41b0bf5 Implementations for Plugin-Preset-Load to set automation 2017-02-21 15:24:20 +01:00
Robin Gareus
5db22a33c1 Add API allowing plugin preset load to affect automation 2017-02-21 15:24:20 +01:00
Paul Davis
1b2a64c391 redesign VCA control over gain (and theoretically other scalar controls)
master(s) value now just scales the control's own value; a trivial
bit of math at assign/deassign ensures that values do not change
during add/remove master operations
2017-02-21 15:07:07 +01:00
Robin Gareus
3ecd5d6f08 Allow to pre-seed Tabbable detached state. 2017-02-20 22:55:31 +01:00
John Emmas
9a45e0fde9 Add a missing #define to our MSVC project (portaudio_backend) 2017-02-20 09:16:51 +00:00
Robin Gareus
da8f49829f Allow to create aux sends from Lua scripts 2017-02-20 00:30:15 +01:00
Robin Gareus
226b2a526e Add Lua bindings for std::list ::front() and ::back() 2017-02-20 00:30:15 +01:00
Robin Gareus
32fe5a083e Emit a signal when Lua session script change (prepare UI update to un/set) 2017-02-19 01:29:08 +01:00
Robin Gareus
29ca1f7a67 Fix 32bit compilation 2017-02-18 16:22:34 +01:00
Robin Gareus
4755c703f4 move color_to_rgba to LuaAPI for consistency 2017-02-18 16:11:18 +01:00
Damien Zammit
c40ccd5aae ptformat: Update lib to upstream 624671c
Temporary measure to prevent bogus data being parsed:

Until .ptx decryption is fully solved, we protect
the MIDI data output against bogus values being parsed.
2017-02-18 13:18:32 +11:00
Robin Gareus
149634c2cf Allow to use any Lua function factory, produce bytecode 2017-02-17 18:58:11 +01:00
Damien Zammit
22d676c7b6 ptformat: Update lib to upstream 3b60276
bugfix: Empty out MIDI events per region

Signed-off-by: Damien Zammit <damien@zamaudio.com>
2017-02-18 03:01:16 +11:00
Damien Zammit
cb0189845e ptformat: Update the lib to 9d0b64f (upstream ptformat)
Adds MIDI region import support and simplifies XOR decryption.

Signed-off-by: Damien Zammit <damien@zamaudio.com>
2017-02-17 15:36:02 +01:00
Robin Gareus
b5dbfc9931 leave a ToDo note for the mackie surface 2017-02-17 04:02:15 +01:00
Robin Gareus
9d8829f5bf Remove direct calls to set solo_control()
Changing solo-state needs to be done in rt-context to atomically
propagate solo/mute.

set_control() queues a rt-event, later Session::rt_set_control() calls
Session::update_route_solo_state() to propagate solo/mute.
2017-02-17 03:58:51 +01:00
Robin Gareus
c98116ad44 Add Lua bindings related to solo/mute and realtime control changes 2017-02-17 03:37:51 +01:00