Hoi,
ik ben een Max-noob en wilde een patch maken waarmee ik een midi controller event dat wordt gegenereerd door een device wil omzetten naar een ander controller event waarbij het controller nummer wordt aangepast maar de value gelijk blijft. Ik ontvang b.v. controller 20 value 25 en wil er controller 19 value 25 van maken. Misschien bestaat die mogelijkheid al in Ableton, maar die heb ik niet kunnen vinden. En misschien is er al een Max patch die dat kan, maar het is niet gemakkelijk zo'n ding te vinden in de massa's patches die er bestaan. Verder wilde ik eens met Max spelen, dus ....
Ik heb een simpele patch gemaakt in Max, en zoals dat vaak is bij het eerste gebruik van een nieuwe programmeertaal zal ik wel niet de meest handige manier hebben gekozen. Vandaar de vraag om enige hulp.
Wat ik gebruik is een midiparse object, daar pluk ik van de controller uitgang de waarden, splits die met een unpack in 2 elementen en neem dan alleen de 2e waarde mee, dat is de controllervalue ( ik negeer dus het controller nummer, 20 in het voorbeeld ). Dan doe ik een pack voor 2 waarden waarbij ik als eerste waarde 19 substitueer en plak er de 2e waarde uit de unpack tegenaan ( de controller value, 25 in dit voorbeeld). Tenslotte doe ik een midiformat om het geheel weer tot een midi message om te zetten.
N.b. als je de patch bekijkt, zie je dat ik ook nog het midikanaal probeer te setten.
Wat mij opvalt zij een paar dingen:
1: als ik de value van de ingaande controller 19 varieer, dan zie ik dat die ge-unpackt wordt en dat de beide waarden continue varieeren als ik de controller bedien op het externe device. Dat zie ik in de message boxen die aan de unpack hangen. De output van de midiformat lijkt niet ge-update te worden. Die wordt eigenlijk alleen ge-update als ik de 'Output Controller' waarde in de patch varieer, dus bijvoorbeeld van 20 op 19 zet.
2: Als ik de 'Output Channel' waarde varieer, zie ik dat niet terug in de message box die hangt aan de midiparse die ik aan de midiformat heb gehangen. Die wordt dus niet continue aangepast.
Ik zie het kanaalnummer wel veranderen zodra ik de 'Output Controller' waarde varieer. De waarden in de patch komen overeen met de toestand na het varieeren van de 'Output Controller' waarde.
De hamvraag is dus: hoe geeft Max de waarden door die ergens in een patch worden gevarieerd en wat triggert het doorgeven van een waarde?
Ik krijg de indruk dat ik in de patch iets van een gate of triggering mis.
ik ben een Max-noob en wilde een patch maken waarmee ik een midi controller event dat wordt gegenereerd door een device wil omzetten naar een ander controller event waarbij het controller nummer wordt aangepast maar de value gelijk blijft. Ik ontvang b.v. controller 20 value 25 en wil er controller 19 value 25 van maken. Misschien bestaat die mogelijkheid al in Ableton, maar die heb ik niet kunnen vinden. En misschien is er al een Max patch die dat kan, maar het is niet gemakkelijk zo'n ding te vinden in de massa's patches die er bestaan. Verder wilde ik eens met Max spelen, dus ....
Ik heb een simpele patch gemaakt in Max, en zoals dat vaak is bij het eerste gebruik van een nieuwe programmeertaal zal ik wel niet de meest handige manier hebben gekozen. Vandaar de vraag om enige hulp.
Wat ik gebruik is een midiparse object, daar pluk ik van de controller uitgang de waarden, splits die met een unpack in 2 elementen en neem dan alleen de 2e waarde mee, dat is de controllervalue ( ik negeer dus het controller nummer, 20 in het voorbeeld ). Dan doe ik een pack voor 2 waarden waarbij ik als eerste waarde 19 substitueer en plak er de 2e waarde uit de unpack tegenaan ( de controller value, 25 in dit voorbeeld). Tenslotte doe ik een midiformat om het geheel weer tot een midi message om te zetten.
N.b. als je de patch bekijkt, zie je dat ik ook nog het midikanaal probeer te setten.
Wat mij opvalt zij een paar dingen:
1: als ik de value van de ingaande controller 19 varieer, dan zie ik dat die ge-unpackt wordt en dat de beide waarden continue varieeren als ik de controller bedien op het externe device. Dat zie ik in de message boxen die aan de unpack hangen. De output van de midiformat lijkt niet ge-update te worden. Die wordt eigenlijk alleen ge-update als ik de 'Output Controller' waarde in de patch varieer, dus bijvoorbeeld van 20 op 19 zet.
2: Als ik de 'Output Channel' waarde varieer, zie ik dat niet terug in de message box die hangt aan de midiparse die ik aan de midiformat heb gehangen. Die wordt dus niet continue aangepast.
Ik zie het kanaalnummer wel veranderen zodra ik de 'Output Controller' waarde varieer. De waarden in de patch komen overeen met de toestand na het varieeren van de 'Output Controller' waarde.
De hamvraag is dus: hoe geeft Max de waarden door die ergens in een patch worden gevarieerd en wat triggert het doorgeven van een waarde?
Ik krijg de indruk dat ik in de patch iets van een gate of triggering mis.