nick_m
b732147676
Use Note::set (Rect) for speed improvement when rendering notes.
2016-07-10 02:18:37 +10:00
nick_m
39692eed66
Add Note::set (Rect) for optimisation purposes (minimise begin/end changes)
2016-07-10 02:18:37 +10:00
nick_m
71ed5865f5
Temporary work-around for note colour.
2016-07-10 02:18:37 +10:00
nick_m
8e99b59af5
Make TempoMap::bbt_at_frame() more efficient.
...
- should be a no-op
2016-07-10 02:18:37 +10:00
nick_m
db686cca38
Show correct bbt representation of region length in region list.
...
- fixes single-tempo assumption.
2016-07-10 02:18:37 +10:00
nick_m
95ba43916f
Improve performance of automation range moves.
2016-07-10 02:18:37 +10:00
nick_m
7a6efaaf3d
Quick fix to get trim working again (bahaving oddly during trim right now)
2016-07-10 02:18:37 +10:00
nick_m
32a579ec28
Fix ordering thinko in note selected colour.
2016-07-10 02:18:37 +10:00
nick_m
9f61f8a5b0
Complete the task of Playlist::flush_notifications ()
2016-07-10 02:18:36 +10:00
nick_m
550f2925cc
Performance - don't redisplay model immediately in MidiRegionView::enable_display ().
...
- allows MidiRegionView::reset_width_dependent_items () to do it
as intended (i think).
2016-07-10 02:18:36 +10:00
nick_m
e856615c75
Performance tweak - NoteBase doesn't recalculate colour as often.
...
- not sure if we can store this atm.
2016-07-10 02:18:36 +10:00
nick_m
3c1bc99df9
Improve midi model redraw performance by caching colours.
2016-07-10 02:18:36 +10:00
nick_m
c6f2095fb7
Improve the performance of TempoMap::frame_at_beat ().
...
- should be a no-op
2016-07-10 02:18:36 +10:00
nick_m
6b0eadc62f
Use mostly beat-based calculation for displayed midi note position.
2016-07-10 02:18:36 +10:00
nick_m
0e63fa65b5
Remove frame conversion for MidiRegionView::note_in_region_range(), speed up tempo dilation
2016-07-10 02:18:36 +10:00
nick_m
93c24e4433
Paste uses exact beats. rework _start_beats calculation in copy-with-offset ctor.
2016-07-10 02:18:36 +10:00
nick_m
94e0a15325
Exact beat - provide audio->music mapping for region split.
...
- for those not in the know, this series provides a way to
remove the temporal distortion introduced when using an
audio frame-based gui for music-locked objects.
In short, the gui uses an audio frame representation to move
objects. It displays the object using frame_at_beat(), quantizing
the time value to audio frames. This is fine until the user selects
that frame but expects it to be interpreted as a beat.
Thus beat_at_frame() would not produce the user-expected beat
(temporal quantization error of up to 0.5 audio samples).
This is one method of mapping audio time to music time accurately.
2016-07-10 02:18:36 +10:00
nick_m
2d5238d875
Make some musical operations on music-locked regions operate in beats.
...
- use exact beats to determine frame position.
- see comments in tempo.cc for more.
- this hasn't been done for split yet, but dragging and
trimming are supported.
2016-07-10 02:18:36 +10:00
0d050de94e
move latency-recompute into dedicated thread.
...
this fixes an issue with jack1 and jack_latency_recompute() since must not
send a server request from inside the server callback.
2016-07-09 17:42:58 +02:00
b64a6b658e
handle internal-sends from audio to midi busses
2016-07-09 13:51:52 +02:00
20e216afcc
commence testing
2016-07-09 11:55:05 +02:00
56c4eebfdd
move LatencyChanged detection from Plugin to Processor (plugin-insert)
...
* support all Plugin APIs (not implementation specific)
* also check for latency changes when plugins are hard en/disabled
2016-07-09 04:42:21 +02:00
49c9569039
Make MIDI busses possible targets of internal sends
...
The session only added an internal return to new audio busses, and so
only those were proposed in the "New Aux Send" list. Also add the return
to new midi busses, now that internal sends know how to deal with midi.
2016-07-09 02:17:00 +02:00
09c4c51335
Make internal sends aware of non-audio data
...
When most internal sends are created, they are given a panner shell
which is then responsible for audio dispatch. Other data types were left
there without handling them at all. Ensure that all available data is
sent provided the internal send has enough outgoing buffers.
2016-07-09 02:00:27 +02:00
820f99d484
Make Delivery::run more Datatype-agnostic
...
Note that checking the number of output ports is not needed because
IO::copy_to_outputs() will stop if there are less ports of the right
type than buffers (or even none).
2016-07-09 01:21:27 +02:00
d6534eb143
Assert that nobody calls IO::copy_to_output with empty bufs
...
IO::copy_to_output() crashed if there was no channel to copy from. Since
all callers seem to check before calling, just assert() that it is not
the case.
2016-07-09 01:21:27 +02:00
ac923be7af
fix port-sort order for good.
...
TODO find out how to make std::set::find() work with custom sort order,
as std::find may only be O(N) and not O(log (N)).
2016-07-08 21:37:42 +02:00
97b1725023
OSC: Add well known controls for pan and compressor
2016-07-08 11:54:37 -07:00
f84a7605d8
pre-sort port-names
2016-07-08 20:44:21 +02:00
bda5a4a4e6
fix incorrect behaviour of mixer strip [X] (hide) buttons
2016-07-08 14:42:54 -04:00
b7dc66c903
untested hack for AU multi-bus outputs which are not explicitly listed
2016-07-08 20:29:39 +02:00
1228faf2cf
fix thinko
2016-07-08 13:34:52 -04:00
b382ad8b22
towards a generic plugin grid layout
2016-07-08 18:19:31 +02:00
db564a03c7
add an plugin API to query generic-gui grid-layout
2016-07-08 18:19:31 +02:00
77e50f56f9
first step to separate generic-gui layout
2016-07-08 18:19:31 +02:00
24b514797a
make route group master a real property.
...
Required for state save/restore to know about the master
2016-07-08 11:46:01 -04:00
965def3caf
signed VCA numbers
2016-07-08 11:46:01 -04:00
b37ec38d86
change VCA number to signed.
...
Allows for more robust out-of-band (negative) value
2016-07-08 11:46:01 -04:00
b7a7c1bbd8
a-EQ: Tweak default values and inline display scale +-20dB
2016-07-09 00:29:59 +10:00
2cc33684c7
treat VCA assign as a RouteGroup property.
...
Newly added routes,removed routes etc. all correctly assign or
unassign to the group's VCA.
2016-07-08 09:25:18 -04:00
da0bd3d8a5
fix region action sensitivity issues.
...
Desensitize all region actions initially, and toggle that state
appropriately when region selection changes
2016-07-08 08:44:21 -04:00
295a7dfcf3
OSC: Add feedback for known pan controls and known compressor controls
2016-07-07 11:36:31 -07:00
b68c28986c
fix AU bus sidechaining
2016-07-07 18:18:06 +02:00
53b51ee536
update lua-biquad: add en/disable
2016-07-07 16:45:10 +02:00
266ecfbeec
implement designated enable/bypass port for lua-proc
2016-07-07 16:44:41 +02:00
d83be1baa3
backup lua-test/devel util code
2016-07-07 15:37:11 +02:00
29184a2b72
rewrite spectrogram using PBD::Ringbuffer
2016-07-07 15:37:11 +02:00
91ab5e3175
add LuaTableRef to DSP API as alternative to shared-mem
2016-07-07 15:37:11 +02:00
ef1e20f6a2
some more lua-bindings
...
* allow C memory allocation with lua-lifetime
* expose some ChanMapping methods
2016-07-07 15:37:11 +02:00
44a3f042a7
prepare sharing C++ class instances across lua-interpreters
...
in particular: lua-lifefime (!) C++ instances.
This allows for dynamic allocation of custom user-data, bound to
the lifetime of the allocating lua-context.
2016-07-07 15:37:11 +02:00