mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-12 09:36:33 +01:00
WS: properly support MIDI strips
This commit is contained in:
parent
dd833c89b9
commit
9ee828b47b
8 changed files with 154 additions and 54 deletions
|
|
@ -27,13 +27,25 @@ const NodeToProperty = Object.freeze({
|
|||
[StateNode.STRIP_MUTE] : 'mute'
|
||||
});
|
||||
|
||||
// from presentation_info.h
|
||||
const StripFlags = Object.freeze({
|
||||
AUDIO_TRACK: 0x1,
|
||||
MIDI_TRACK: 0x2,
|
||||
AUDIO_BUS: 0x4,
|
||||
MIDI_BUS: 0x8,
|
||||
VCA: 0x10,
|
||||
MASTER_OUT: 0x20,
|
||||
MONITOR_OUT: 0x40,
|
||||
AUDITIONER: 0x80
|
||||
});
|
||||
|
||||
export default class Strip extends AddressableComponent {
|
||||
|
||||
constructor (parent, addr, desc) {
|
||||
super(parent, addr);
|
||||
this._plugins = {};
|
||||
this._name = desc[0];
|
||||
this._hasPan = desc[1];
|
||||
this._flags = desc[1];
|
||||
this._meter = 0;
|
||||
this._gain = 0;
|
||||
this._pan = 0;
|
||||
|
|
@ -48,8 +60,8 @@ export default class Strip extends AddressableComponent {
|
|||
return this._name;
|
||||
}
|
||||
|
||||
get hasPan () {
|
||||
return this._hasPan;
|
||||
get flags () {
|
||||
return this._flags;
|
||||
}
|
||||
|
||||
get meter () {
|
||||
|
|
@ -64,6 +76,10 @@ export default class Strip extends AddressableComponent {
|
|||
this.updateRemote('gain', db, StateNode.STRIP_GAIN);
|
||||
}
|
||||
|
||||
get hasPan () {
|
||||
return !this.isMidi && !this.isVca;
|
||||
}
|
||||
|
||||
get pan () {
|
||||
return this._pan;
|
||||
}
|
||||
|
|
@ -80,6 +96,18 @@ export default class Strip extends AddressableComponent {
|
|||
this.updateRemote('mute', value, StateNode.STRIP_MUTE);
|
||||
}
|
||||
|
||||
get isAudio () {
|
||||
return this._flags & StripFlags.AUDIO_TRACK;
|
||||
}
|
||||
|
||||
get isMidi () {
|
||||
return this._flags & StripFlags.MIDI_TRACK;
|
||||
}
|
||||
|
||||
get isVca () {
|
||||
return this._flags & StripFlags.VCA;
|
||||
}
|
||||
|
||||
handle (node, addr, val) {
|
||||
if (node.startsWith('strip_plugin')) {
|
||||
if (node == StateNode.STRIP_PLUGIN_DESCRIPTION) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue