Длительность ноты с OSC или непрерывное включение / выключение ноты

Я добавляю возможность OSC в свое приложение для музыкальных барабанных пэдов для iOS. Я могу отправлять строки при ударе по пэду, а затем использовать OSCulator для сопоставления с MIDI, тестировать с помощью Logic Pro и нормально воспроизводить ноты, но мне интересно, как задать длительность ноты Logic Pro, как это сделать?

Цель состоит в том, чтобы сделать ноту непрерывной до тех пор, пока пэд не будет нажат, поэтому вы не узнаете длительность, пока пэд не будет нажат. Планируется внедрить CoreMIDI в будущем, но начиная с OSC и OSCulator.


person colin lamarre    schedule 23.07.2012    source источник
comment
Есть записи о событиях и о них. Продолжительность заметок не отправляется с включенной записью.   -  person Brad    schedule 23.07.2012
comment
хорошо, но как будут выглядеть строка / значения OSC при включении / выключении, тогда что вы будете делать в OSCulator? Для моего приложения было бы достаточно просто включения / выключения, никакой реальной необходимости в продолжительности, так что это было бы здорово!   -  person colin lamarre    schedule 23.07.2012


Ответы (1)


Сортировка методом проб и ошибок, добавление Int 1, а затем добавление Int 0 для остановки, делает трюк, но если у вас есть планшеты, на которых вы не хотите, чтобы такое поведение было добавлено Int, вы также должны иметь Int 0, поэтому в этих случаях просто наденьте не добавляю Int.

OSCMessage *msg = [OSCMessage createWithAddress:[NSString stringWithFormat:@"/Pad%i", i + 1]];

if (stick)
    [msg addInt:1];             

[outPort sendThisPacket:[OSCPacket createWithContent:msg]];

Затем, чтобы выключить его:

if (stick)
{
    OSCMessage *msg = [OSCMessage createWithAddress:[NSString stringWithFormat:@"/Pad%i", i + 1]];

    [msg addInt:0]; 

    [outPort sendThisPacket:[OSCPacket createWithContent:msg]];

}

Это использует VVOSC / vvopensource. Сначала он не работал, но затем удалил все настройки OSCulator и перенастроил его, после чего все заработало.

person colin lamarre    schedule 23.07.2012