Behringer BCR2000 - SysEX Dokumentation

Sagen wir so - technisch ist das sicherlich möglich, ja. Aber ich glaub, für alles das passende Textfile zusammenzulöten würden meine Freizeit etwas sprengen :)

Im Moment dienen meine Erkenntnisse dazu, auf meine Art (eben über die Textfile) alles mit dem Ding zu machen, was ich brauche. Und ich brauch keine bunten Editoren, mit ists lieber, den Krempel im Textfile zu definieren.

Aber ich teile mein Wissen so weit wie möglich, um anderen Leuten zu ermöglichen, nen gscheiten Editor dafür zu basteln.

Irgendwann fällt dann vielleicht auch mal ein kleines Tool raus, was die Konvertierung Textfile/SysEx für den BCR2000 vornimmt (ist vielleicht ne Stunde Arbeit, basierend auf meinen Fragmenten), dann sollte es jedem möglich sein, seinen Krempel im Textfile zu definieren. Das ist halt mal die beste Art, dem BCR2000 das einzukippen. Und wer mit SysEx-Meldungen arbeiten muss, sollte auch keine Scheu haben, die in ein Textfile zu tippern. Ich muss den Krams "nur" halt noch "mal irgendwann" dokumentieren :)

Für die Forscher unter den Mitlesern: jad ist ein toller Java-Decompiler. Und ich glaub BCL.class ist die Klasse, wo alle Tokens definiert sind. Nur so als Tip :)
 
Der ist auch bissi gammlig. Unter Wintendo tut er halbwegs, unter OSX gar net. Aber zum decompilieren tut ers.

IMHO ist bei Behringers was fertig, wenns halbwegs tut. Irgendwo. Dann wirds auch nimmer weiterentwickelt. Ich denke, BCR2000 ist am Ende der Update, es wird wohl keinen bcedit geben, der aus 0.2-beta raus kommt, und die 1.10 wird wohl auch die letzten Firmware sein, läuft ja stabil. Somit bleiben essentiell wichtige Teile der Funktionsalität des Gerätes für die meisten User unbenutzbar. Schade. Ich halte mit den Möglichkeiten, die son BCR bietet, wenn man weiß, wie man dran kommt, das Gerät für eine der geilsten Knobsboxen am Markt. Natürlich gibts schickere Geräte mit dickem LCD-Display, aber die kosten auch ungleich mehr.

Ich hatte übrigens bei den Ohren mal angefragt wegen SysEx-Doku - no way. Rücken nix raus. heißt bei denen aber "wir haben solche Dokumentation nicht". Soll ich das jetzt so interpretieren, daß dies einfach nicht rausrücken, oder lieber doch so, daß die ihren Krempel nicht dokumentieren?

Naja. Wurscht. Wie gesagt, kommt Zeit, kommt Doku von mir.
 
wäre garnicht übel..
obwohl ich das für ne reine FLEIßARBEIT halte, das klingt nämlich garnicht sooo schwer, man muss nur bei 65 SysEx Parametern auch entsprechendes an kleinen Abschnitten basteln, in XML wäre das fast..

wie beim C4, da ist es genau so gemacht.. jedoch editierbar offiziell.. ohne Token.. einfach so.. und mit ein paar "Presets" ..

Aber da sieht man dann auch was wo ist und bezahlt das mit dem 9fachen der BCRs..
 
Lustig, daß Du mit XML kommst. Ich hatte schon mal angefangen, mir Gedanken über ein XSLT zu machen, was das Textfile erstellt :)

Aber mit Copy&Paste im Texteditor bin ich auch schon recht weit gekommt. das bcr2000_dump.txt enthält ja (vielleicht nicht die neuste) Version meines Gebastels für den Eigenbau-Synth, da hats viele Beispiele drin.

Daß die Doku Fleißarbeit ist - keine Frage. Und ich tendiere dazu, sowas nicht zu dokumentieren, wenns für mich aktuell tut, und mich in 2 Jahren dann schlimm am Kopf zu kratzen, wie das nochmal war :)
 
Und meine ersten Gehversuche in Java neulich bezogen sich pur auf XML/XSLT. Das wäre also schon ein sinniger Ansatz. Ich mag XML. Ob in Perl, C, Java - egal, alles hat seine Mittel für sowas. Ich hab schon ein komplettes Konfigurationtool für "alles" gebaut in C, basierend auf Sablotron, was komplett mit XML werkelt und ein austauschbares User Interface zur Vefügung stellt, in dem Fall war es erstmal Curses für Unix im Textmode.

Kann man viel mit machen, zweifelsohne. XML->XSLT->SysEx :)

Naja. Das Problem ist, daß das Textfile für mich den Zweck erfüllt und damit die Motivation fehlt, was Besseres zu bauen :)
 
Moogulator schrieb:
der java editor ist müll und funktioniert nicht (bei mir jedenfalls) . sysex wird von dem ding ansich garnicht unterstützt, nur wenn man da übelst drin rumhackt und so weiter.. unser MIK weiss da mehr ..

mit dieser beschriebenen methode habe ich es tatsächlich mal unter os x hinbekommen:

http://opuslocus.net/forums/viewtopic.php?t=166

behringer selbst empfielt seinen usern ja "einfach" eine ältere java version zu installieren, damit ihre dreXbetaversion™ läuft
 
Nuja. Wenn der Editor wirklich sinnvoll wäre - okay. Aber auch der ist eher unhandlich, so, wie am Gerät selber. Wenn man die (decompilierten) Sourcen anschaut, hätte der mal sehr viel können sollen. Aber wird wohl nimmer weiterentwickelt. Damit hat er IMHO keinen echten Nutzen. Einen anderen Editor hatte ich mal noch gefunden für Wintendo, der geht aber her und setzt die Spezial-Device-ID zur Fehlerignorierung und zerschiesst damit komplett die Patches.

Wenn mans mit meinen Tuuls hingeneriert, dann werden Fehler gecheckt, im schlimmsten Fall werden dann Zeilen, die nicht passen, ignoriert, aber der Patch ist danach wenigstens nicht komplett im Sack.

Übrigens kennt der BCR2000 sogar ne bidirektionale Kommunikation, jede SysEx-Message wird wieder mit ner SysEx-Message bestätigt, die den Status mit gibt. Ganz durchschaut hab ichs noch nicht, aber im MIDI-OX ists relativ nachvollziehbar, was da alles passiert.
 
btw. ich hatte mir hier mal ein bcr preset mittels midi learn funktion für meinen tx802 gebastelt was so auch ganz gut funktioniert.
leider fahren alle regler immer die komplett möglichen 128 (midi)werte ab, also auch bei den parametern welche z.b. nur 8 werte erlauben.
da ich das ganze mittels der learn funktion aufgezeichnet habe, kann ich nirgendwo am gerät (bcr2000) selbst den max. wertebereich begrenzen (und der editor funzt ja nicht).

im prinzip müsste das doch funktionieren, wenn ich das preset mit irgendeinem (text)editor bearbeite, oder sehe ich das falsch ?
 
Wenns normale CCs sind, dann kannst das am Gerät ändern. Wenns SysEx ist, dann kannst nur nen Dump von dem Patch machen, den durch mein Tool jagen (das _dump), editieren (da es ein .tx sein muß, einfach das .minmax ändern) zurück konvertieren (mit dem _convert) und wieder hochladen.

In meinen Tools sind die Filenamen noch hardcoded und der Output kommt stellenweise auf stdout raus, das sind einfach mal Hacks, ums auszuprobieren. Aber für Besitzer eines C-Compilers (unter OSX einfach so dabei, unter Wintendo gehts mit Cygwin) sollte das kein Problem sein.

Beim zurück pumpen von dem Patch ist glaub das $store nicht mit drin, also kannst das ausprobieren, und wenns tut, manuell speichern. Automatisch wird da nix gespeichert, das geht im SysEx mit dem $store kommando.

Wer übrigens das $recall und $store und so Zeug weglässt, kann auch einen einzigen Encoder/Button hochladen, ohne den Rest zu beeinflussen.
 
Wenns unter Windoze nicht das Problem mit der cygwin-dll wär, würd ichs einfach mal so baun. Mal schauen, vielleicht nehm ich mir morgen mal die Zeit, das aufzuräumen, dann gibts hin&her-konverters für Windoze und OSX. Der Vorteil von dem Zeug ist halt auch, dass man in meinem Textfile auf Leerzeilen und Kommentare verwenden kann, die der BCR nicht verstehen würde. Damit wirds dann übersichtlicher :)

Mal schaun. Wenn ichs morgen angreif, poste ich es hier, notfalls mit der DLL, kann sein, daß es unter Windoze dann auf ner nicht-cygwin-Kiste nicht auf Anhieb tut, dann muss ich Files nachlegen.
 
Wenn Du da irgendwie Hilfe brauchst sag bescheid, coden ist kein Problem. Auch Editoren, Converter oder sonst was :)
 
"Mach halt" :)

Nee, im Ernst - wenn ich das Wissen transportiere, ist der Zeitaufwand höher, als gleich was eigenes zu schreiben, denke ich. Schau Dir mal meine Fragmente an, und Du wirst sehen. Es fehlt zwar an kompletter Dokumentation, aber das ist vor allem auch ne Sache, alle sinnvoll erscheinenden Kombinationen an Tokens auszuprobieren. Nur auf der Basis kann man nen wirklichen Editor schreiben, mit Logik drin, die natürlich nur das zulässt, was sinnvoll ist.

Das Material, was ich da online gestellt habe, plus einem Decompilat der BCL.class sollte genug Möglichkeiten zur Verfügung stellen, bei Vorhandensein der Hardware, nen Editor für das Ding zu schreiben. Ich komm heute höchstens noch dazu, ein Binary für Windows/MacOS zu basteln, mit dem man den Krempel hin und her konvertieren kann, aber nen kompletten Editor bau ich sicher net, da hab ich noch genug anderes Zeug vorher zu basteln :)
 
Hm, hab ich was übersehen? Irgendwie sehe ich in Deinem ersten Post keinen Link zu irgendeinem File oder sonstwas?!
 
Super. Ich red die ganze Zeit davon, dabei hab ich da den Link noch gar net gepostet. Kein Wunder kommt Verwirrung auf. Ich war mich sicher, ich hatte den gepostet, im 2. Post oder so, den ich in dem Thread reingehaun hab.

Hier ists: http://mik.k5000.org/tools/
 
jetzt wäre nur noch eine anleitung für halbwegsPlanlose wie mich nötig.

diese files mit der endung .c sind ja bestimmt keine ausführbaren programme, oder ?

muss ich das jetzt noch kompelieren (unter os x) ??

:arbeiten: :pckill:
 
Genau. Drum wollte ich das ja schon mal alles bauen, und vor allem vorher noch den Code etwas aufräumen. Lass mal sehen.

Zum Bauen sollte es das hier tun:

gcc -s -O2 -o bcr2000_dump bcr2000_dump.c
gcc -s -O2 -o bcr2000_convert bcr2000_convert.c

Klar, von der Shell aus, also im Terminal. Bissl Unix-Wissen ist da von Vorteil :)

Zur Benutzung:

./bcr2000_dump >bcr2000_dump.txt

Konvertiert bcr2000_dump.syx nach bcr2000_dump.txt

./bcr2000_convert >bcr2000_dump.syx

Konvertiert bcr2000_dump.txt nach bcr2000_dump.syx

In bcr2000_dump.txt sind Kommentare möglich, aber vorsicht, mein Filtern ist da sehr rudimentär, eine Zeile, in der nur Leerzwichen sind, könnte z.B. schon Probleme machen. Wobei scheinbar der BCR2000 selber auch mit Kommentaren klarkommt, ich filtere nämlich nicht ";" aus, und hab massig Kommentare damit drin.

So. Einfach mal rumexperimentieren. Wer mag, kann sich ja mal die beiden Tools zusammen stöpseln in ein einziges, und vor allem mal Übergabe von Filenamen und gscheiten Pipe-Support und sowas einbauen, wie gesagt - das sind nur Fragmente, damit hatte ich das anfangs mal analysiert, und weils halt bis heute den Zweck erfüllt, nie wieder angefasst. Nix hält länger als ein funktionierendes Provisorium :)
 
bcr+µq steuern ohne werte abholen?

geht das? das "wert abholen" mit den encodern ist doch recht lästig und stört mich in der bedienung... kann man das irgendwie umgehn?
 
wie ist das anshclusstechnisch zu verstehn? brauch ich eine midi rückleitung vom Q zum bcr?
 
Ich denke, dass das nicht anders funktionieren wird. Der mQ gibt beim Patchwechsel seine Parameter nicht über Midi aus und die BCR kann keinen Dump request senden. Die BCR kann also nicht wissen, welche Werte die zu steuernden Parameter im mQ gerade haben.

Du kannst die BCR allenfalls auf Absolutmodus einstellen. Dann gibts aber beim Encoderdrehen Parametersprünge.
 
Jump im Globalmenue

Lieber Mogulator,

ich hab doch gleich mal ins Globalmenue meiner Kuh-Keyboard geschaut, aber beim Durchdrehen der Optinen nichts mit der Bezeichnung gefunden, die Du angabst. Wo genau soll sich dieser Befehl verbergen?

Viele Grüße
Andreas
 
hab keine Kuh, das Ding kann auch Control oder Ctrl oder sowas heissen..

Anschluss:Midi out in in und gut - Springen ist kein Problem.
 
Re: Jump im Globalmenue

andreas schrieb:
Wo genau soll sich dieser Befehl verbergen?

Beim microQ und vermutlich auch beim MacroQ gibt's das auch nicht. Da die Geräte ja Endlosencoder haben, die sowieso immer den aktuellen Wert eines Parameters repräsentieren, machen verschiedene Knopf-Modi keinen Sinn. Die gibt's in der Regel bei Geräten, die mit Potentiometern ausgestattet sind, deren Stellung nach einem Patchwechsel immer vom aktuellen Parameterwert abweicht.

Probleme ergeben sich allerdings auch bei Encoder-gesteuerten Geräten sobald man sie extern steuern will. Die Encoder der BCR wissen halt nicht, welchen Wert der aktuelle MicroQ-Parameter gerade hat. Damit eine externe Encoder-Steuerung genauso funktioniert wie die am Gerät selbst, müsste der mQ beim Soundwechsel immer unaufgefordert seine aktuellen Daten (Echo heisst das glaub ich) raussenden, macht er aber nicht.

Die BCR hat zwar einen Modus, der statt absoluter Werte einen Increase oder Decrease-Befehl ausgibt, alle Geräte bei denen ich das ausprobiert habe kommen damit aber nicht klar und schalten dann nur zwischen Maximum- und Minimum-Value des Parameters hin und her.
 
BCR2000 Softwareproblem

hi,

ich habe versucht mit der Behringer Software meine Presets zu bearbeiten - wenn ich sie auf den BCR transferieren möchte bekomme ich eine Fehlermeldung. Ebenso auch mit der Software von Birdie. Angeschlossen habe ich den Controller via USB.

Jemand nen Tip?

thx
cu
lance
 


Neueste Beiträge

Zurück
Oben