"Invalid manufacturer" heisst, dass in deinem Sysex-String die Herstellernummer nicht richtig eingetragen ist.
Ausser den eigentlichen Daten, die du übertragen möchtest muss der SysexString auch noch Hersteller-ID und Geräte-ID beinhalten und auch (im Falle von Roland-Geräten) eine Checksumme.
Da diese Checksumme sich durch zusammenzählen der Bytes für den Befehl und den eigentlichen Daten sowie den IDs ergibt (also sich quasi dynamisch mit den Werteänderungen mitverändert und jedesmal errechnet werden muss) wird das aus meiner Sicht nicht so einfach sein SysEX-Befehle an aus einem Controller heraus zu verschicken, es sei denn du willst nur feste Werte verschicken, bei denen dann die CHecksumme auch vorher berechnet und eingetragen werden kann.
Um so eine Einschränkung zu umgehen sehe ich eigentlich nur die Möglichkeit einen Midiconverter zwischen BC und Roland dazwischenzuschalten....den man aber auch erstmal relativ komplex programmieren müsste.
Hab leider keine BfC und kann daher nicht sagen, ob man die auch alleine dahingehend programieren kann (so dass sie Quasi wirklich ein "Programm " abarbeiten kann.
Aber wenn nicht kannste halt eh nur feste Strings mit festen Werten verschicken oder brauchst halt einen besagten Midiconverter als programmierbare Hardware. Dann verschickst du "normale" Midibefehle an den Converter und dieser setzt das dann als Sysexbefehle um....dafür musst du ihn allerdings auch erstmal programmieren.
Du kannst höchstens probieren ob das Roland evtl auch ohne Checksumme (oder Checksumme 0 oder so) mitarbeitet..da bin ich mir nicht 100% sicher ob das nicht dann doch funktioniert....trotzdem bliebe da immer noch eine gewisse unflexibilität weil die BFC wahrscheinlich (nehme ich an) nur feste Strings verschicken kann.
Oder auf deutsch: Die BFc müsste mit programmierbaren (in Echtzeit veränderbaren) Variablen (auch innerhalb eines Sysexstrings) umgehen können, wenn sie man sinnvoll ohne Converter einsetzen wollte. Kann sie das?
HIer übrigens mal der Aufbau für Sysexstrings...speziell Roland
http://www.2writers.com/eddie/tutsysex.htm
Herstellernummer ist für Roland immer 41 (Hexadezimalwert)
Geräteid kannst du im D50 sicher irgendwo einstellen..ansonsten muss es irgendwo im Handbuch stehen
Checksumme ergbit sich aus allen Bytes ausser Start und Endbyte (F0 und F7)
Da die Checksumme nur einen 8 Bit Wert fassen kann, fängt sie bei Überschreiten von 255 (=ff hex) wieder bei 0 an. Wenn du also auf einen Wert von 280 kommst, dann ist die Checksumme 34 (=22hex).
Aller Werte werden im Systring übrigens als Hexadezimalwert geschrieben.
Schreib mal hier genau auf was du als Sysexstring eingegeben hast (also die komplette Zahlenfolge, was du da eingegeben hast)...vllt haste nen Denkfehler.
Wenn du jetzt eigentlich gar keine Lust mehr auf Sysex hast könnte ich das auch verstehen
Da muss man sich echt mehr reinfuchsen als in simple MIdibefehle. Die Strings dann später in der BFC zu speichern ist sicher das allerkieinste Problem.