Search the Community
Showing results for tags 'Steuerung von Sounds usw.'.
-
Hallo MIOS Gemeinde, nachdem ich recht problemlos ein MIDIO128 um die IIC Ports erweitern konnte, komme ich nun zum zweiten Teil meines MIOS Projektes. Die Steuerung und Kontrolle meiner Wavetable Boards bzw. Expander per MIDIO128. Ursprünglich habe ich das Ganze ja als eigenständige Erweiterung geplant, da aber weitere Mitglieder dieser Gemeinde auch Interesse daran bekundet haben werde ich versuche das Ganze zu integrieren. Die Soundauswahl läuft schon und gestaltet sich wie folgt: Anordnung in 16 Soundgruppen als horizontales SCS-Menu. Auswahl der Sounds, bis zu 42 je Gruppe, als Werte innerhalb der Soundgruppen. Nur das Kürzel des aktuell ausgewählten Sound wird angezeigt. Die anderen Soundgruppen werden mit "----" ausgeblendet. Vorteil, man sieht auf den ersten Blick welchen Sound man gewählt hat. Stand der Programmierung ist derzeit des Rücksetzen der Sounds nach Partwechsel. Bei den Parametern bin ich schnell an die Grenzen des Verstehens gestossen, zu mal mir eine begrenzte Auswahl an WTB bzw. Expander zur Verfügung steht. Daher möchte ich hier das von mir erdachte Datenmodell vorstellen und bitte Euch um eine kritische Prüfung und ggf. Vorschläge zur Verbesserung. ///////////////////////////////////////////////////////////////////////////// // local Action and Control data ///////////////////////////////////////////////////////////////////////////// enum ActionDef { CC, SysEx, NRPN, RPN }; enum ActionDef Actiontyp; typedef struct { u8 wtbEmulation; Actiontyp Acttyp; char Name[11]; char AddrH[2]; char AddrM[2]; char AddrL[2}; char Data1[2]; char Data2[2]; char Data3[2]; char Data4[2]; u8 DataDigits; u16 Default; u16 SetOff; u16 VMin; u16 VMax; u16 VCenter; }wtbActionSet; /* Description of settings * "--" = notset * "0p" or "pp" = p will be replaced by Part Number * "0v" or "vv" = v will be replaced by Value from SCS * Data Digits > 1 Value will be splittet into 2 Digit 7..4 , 3..0 */ static u16 wtbActionSets; const wtbActionSet wtbAction[] { { 0, CC ,"PartVolume","07","--","--","vv","--","--","--", 1, 64,"--", 0,127, 0}, { 0, CC ,"Part Pan ","10","--","--","vv","--","--","--", 1, 64,"--", 0,127, 64}, { 0, SysEx,"PartDetune","08","pp","--","0v","0v","--","--", 2, 64,"--", 0,127, 0} }; Ich denke daran das Ganze über zwei SCS-Punkte als verticales Menue zu integrieren und die Auswahl des Wertes im darauf folgendem Menuepunkt anzubieten. Hierbei sollte es recht einfach möglich sein eigene Parameter einzupflegen. Ferner kann man durch die Struktur der Emulationen schnell eigene Emulation, z.B. mit den Lieblingssounds zur Schnellselection in Soundgruppe 1, ergänzen. Ferner ist angedacht innerhalb des Soundmenues ein alternatives Menu zur Schnellauswahl von Part Nummer und Lautstärke anzubieten. Ähnlich wie Thorsten das mit der altMainPage schon gemacht hat. Ich bin mir bewusst das es ein langer steiniger Weg wird auf dem ich Euch bestimmt noch mit vielen Fragen löchern werde, aber ich glaube das Projekt rechtfertigt dies. Nun aber ran an die Tastatur. Ich freue mich über jede Anregung bzw. konstruktive Kritik. Gruss Roman