Blofeld Sysex & Maxforlive

Ich habe jetzt mittels zl slice den header von der liste entfernt und nun stimmt der Index in der Sysexdoku mit den Positionen im Dump überein, was alles natürlich sehr vereinfacht.
@ppp
Ich hab dir mal angehängt was ich habe. Der BloListener muss auf einen eigenen Track, Midi in/out zum Gerät und auf Monitor input stellen. Klappt so weit hervorragend. Im Fm Osc Patcher ist beim ersten regler auch dokumetiert was wo was macht.
 

Anhänge

  • Blofeld Editor.zip
    562,5 KB · Aufrufe: 1
Bei Hardcore SysEx liegt es nicht in Deinem Ermessungspieltraum, das wird Dir von Aussen aufgezwungen.

mein sparen hat sich auf "Speicherplatz und Sendebytes" innerhalb von Max bezogen. davon gibts sicher genug. weniger geht immer.

Wenn einzelne Bytes in diese Form geschickt werden müssen, ist es sicher kein Problem, wenn man aber z.B. low level Binäroperationen braucht, siehe Prophet VS Format, dann müsste Max das unterstützen (geht wahrscheinlich auch, diese HEX zu DEC Geschichte ist ja auch als externe Funktion entwickelt).
müsste ich mir genauer anschauen um dein "low level Binäroperationen" in meine Max sprache zu übersetzen. dafür bräuchte ich aber einen richtig guten grund.

Midi an sich ist ja sauber strukturiert und standardisiert, wenn es um die normalen Events und CCs etc. geht. SysEx ist davon ausgenommen, nur die Hülle ist standardisiert. Bei fiesen Konstrukten könnte Max scheitern.
scheitern is immer eine option. grundsätzlich gibt es sicher keine sysex strings, die man in max nicht zumindest mal konstruieren kann - sind ja nur zahlenlisten. gibt sicher irgendeine länge ab der die output objekte aussteigen.
 
Ich habe jetzt mittels zl slice den header von der liste entfernt und nun stimmt der Index in der Sysexdoku mit den Positionen im Dump überein, was alles natürlich sehr vereinfacht.
@ppp
Ich hab dir mal angehängt was ich habe. Der BloListener muss auf einen eigenen Track, Midi in/out zum Gerät und auf Monitor input stellen. Klappt so weit hervorragend. Im Fm Osc Patcher ist beim ersten regler auch dokumetiert was wo was macht.

testen kann ichs nicht, aber sieht gut aus.
* lchunk und lhex ladet er bei mir nicht. kann nicht ohne testen sagen worans liegt.
* hast du absichtlich bei allen sends und receives keine "---" vor den namen gemacht? is zwar unwahrscheinlich aber vorstellbar, dass mal jemand mehr als einen blofeld benutzt.
 
scheitern is immer eine option. grundsätzlich gibt es sicher keine sysex strings, die man in max nicht zumindest mal konstruieren kann - sind ja nur zahlenlisten. gibt sicher irgendeine länge ab der die output objekte aussteigen.
Schau Dir mal das Format vom Prophet VS an oder das vom Alesis Andromeda. Dann sollte klar werden, was ich hier meine.

Ich habe eben mal schnell geschaut, Max kann offenbar Java Script ausführen, damit kommt man sicher recht weit. Wenn das nicht hilft, dann eben ein externes Object in z.B. C, wie lhex. Oder man findet was in den bestehenden Libraries. Coole Sache...
 
Schau Dir mal das Format vom Prophet VS an oder das vom Alesis Andromeda. Dann sollte klar werden, was ich hier meine.

Ich habe eben mal schnell geschaut, Max kann offenbar Java Script ausführen, damit kommt man sicher recht weit. Wenn das nicht hilft, dann eben ein externes Object in z.B. C, wie lhex. Oder man findet was in den bestehenden Libraries. Coole Sache...

wenn du mirn link dazu schickst, klick ich in einem schwachen moment mal drauf...

javascript - jep, seit jahren. seit heute offiziell mit nodeJS in max 8, und java, und lua, und innerhalb der erweiterung gen~ geschriebene patches können für hardware wie MOD DEVICES oder Rebel Technology OWL exportiert/kompiliert werden. und nicht zu vergessen... applescript!!!!
 
testen kann ichs nicht, aber sieht gut aus.
* lchunk und lhex ladet er bei mir nicht. kann nicht ohne testen sagen worans liegt.
* hast du absichtlich bei allen sends und receives keine "---" vor den namen gemacht? is zwar unwahrscheinlich aber vorstellbar, dass mal jemand mehr als einen blofeld benutzt.
Ah. Lchunk und lhex gehört zu den Lobjects, ich werde aber falls ich es öffentlich mache ohne den externals arbeiten, jetzt weiß ich ja wie es geht.
Stimmt, die —-vor den send/receive mach ich noch.

Als nächstes kommt der EPS 16plus an die Reihe, der scheint aber schwieriger zu sein :)
 
Übrigens, das [live.banks] object hat es in sich, damit kann man zur Laufzeit Parameterbänke am Push erstellen und wieder löschen.
Neben den normalen Mappings habe ich jetzt zwei Userbänke, damit kann man sich also 16 Parameter für Performance mappen, also z.b. Zwei mal den Cutoff, einmal Filtertype, Modulationstiefe von Modulation 1 und 7, RingModLevel und FMTiefe von Osc1 in Bank 1 für Schnellzugriff, sehr geil. Das alles hat keine Auswirkung auf die "normalen" Mappings, die bleiben erhalten.
 
Also Max hat schon so seine Stolpersteine für Anfänger, es reicht nicht zl group auf 392 und maxsize 1000 zu setzen sondern auch alle nachfolgenden Objekte, z.b. zl nth brauchen diesen Zusatz um auf Listen größer als 256, bzw. um auf alle einträge nach 256 zugreifen zu können, das muss man mal wissen :)
Hat mich wieder 2,5 Stunden meines Lebens gekostet.
 
Langsam wird es was :)
Die Modmatrix hab ich über Live zugänglich gemacht, den Rest steuert man komplett übers Push. Parameterfeedback gibt es für alle Regler und der Dump zum Push funktioniert auch.
Man muss zwei Kanäle haben, einen für den Sysex Listener, also zum Empfangen der Wrete und des Dumps vom Blofeld und den anderen für den Editor, also zwei .amxd devices.
Mit der oberen Reihe kann man sich eine eigene Bank einrichten um 8 beliebige Parameter im Direktzugriff zu haben.
Bildschirmfoto 2018-10-08 um 16.43.12.jpg
Bildschirmfoto 2018-10-08 um 16.43.19.jpg
 
Zuletzt bearbeitet:


Neueste Beiträge

News

Zurück
Oben