Hilfreiches, kleines Side-Project zum Creator 4dotNölle
Zwischenstep
Uff, habe bis heute morgen, etwa halb vier mit immer wieder stark rauchendem Kopp programmiert und programmiert. Grade erst geschafft mich aus dem Bett zu kämpfen (nachdem ich zwar früh morgens und etwas weniger früh morgens eine Weile lang wieder am Start war, aber das dringende Bedürfnis weiter zu ruhen, gerechtfertigterweise verspüren durfte). Und grade checke ich meine gestrige Arbeit ab und darf behaupten, daß ich Schönes erreicht habe. Damit nicht zuviel über Zufall ablaufen braucht, was zu chaotisch wird bei der automatischen Pattern-Kreation, und damit nicht zuviel im Programm-Code schwer leserlich hinterlegt sein muß, habe ich ein kleines Hilfsprogramm entworfen, mit dem ich Basis-Pattern für einzelne Instrumente und Instrumentengruppen nach dem manuellen Erstellen vollwertigerer Pattern in Hydrogen in meine Datenbank zurückschreiben lassen kann. Momentan noch getrennt, aber ich will heute - bevor es weitergeht - mal schauen, ob ich es noch hinbekommen kann, daß auch die ganzen Pattern (die ja nach etwas klingen sollen, den eigenen Ansprüchen gerecht werden müssen) noch mit eingeschrieben werden. Dieses Proggi - weil's mir echt superviel Arbeit gemacht hat - möchte ich vorerst aber mal für mich behalten und nicht gleich hier in Codeform vollständig anzeigen. Aber auch, weil sich da im Laufe der vielen Stunden ein paar echte Hembeleien, Umständlichkeiten, Instringentien und Unübersichtlichkeiten eingeschlichten haben - die mir ein wenig peinlich sind (aber immerhin funzt alles zuverlässig und schnell genuch!).
Ein paar Eckdaten verrate ich natürlich jetzt schon:
Tabelle hydrogen-basepattern (Inhalt bis jetzt)
1;" <note>
<position>48</position>
<leadlag>0</leadlag>
<velocity>0.8</velocity>
<pan_L>0.5</pan_L>
<pan_R>0.5</pan_R>
<pitch>0</pitch>
<key>C0</key>
<length>-1</length>
<instrument>1</instrument>
<note_off (...)";"GMkit";"1";"Stick";"Sticks Rims"
2;" <note>
<position>24</position>
<leadlag>0</leadlag>
<velocity>0.8</velocity>
<pan_L>0.5</pan_L>
<pan_R>0.5</pan_R>
<pitch>0</pitch>
<key>C0</key>
<length>-1</length>
<instrument>2</instrument>
<note_off (...)";"GMkit";"2";"Snare Jazz";"Snares"
3;" <note>
<position>0</position>
<leadlag>0</leadlag>
<velocity>0.8</velocity>
<pan_L>0.5</pan_L>
<pan_R>0.5</pan_R>
<pitch>0</pitch>
<key>C0</key>
<length>-1</length>
<instrument>0</instrument>
<note_off> (...)";"GMkit";"0";"Kick";"Kicks"
4;" <note>
<position>0</position>
<leadlag>0</leadlag>
<velocity>0.8</velocity>
<pan_L>0.5</pan_L>
<pan_R>0.5</pan_R>
<pitch>0</pitch>
<key>C0</key>
<length>-1</length>
<instrument>0</instrument>
<note_off> (...)";"GMkit";"0";"Kick";"Kicks"
5;" <note>
<position>24</position>
<leadlag>0</leadlag>
<velocity>0.8</velocity>
<pan_L>0.5</pan_L>
<pan_R>0.5</pan_R>
<pitch>0</pitch>
<key>C0</key>
<length>-1</length>
<instrument>6</instrument>
<note_off (...)";"GMkit";"6";"Closed HH";"Hihats Closed"
6;" <note>
<position>0</position>
<leadlag>0</leadlag>
<velocity>0.8</velocity>
<pan_L>0.5</pan_L>
<pan_R>0.5</pan_R>
<pitch>0</pitch>
<key>C0</key>
<length>-1</length>
<instrument>15</instrument>
<note_off (...)";"GMkit";"15";"Crash Jazz";"Crashs"
7;" <note>
<position>0</position>
<leadlag>0</leadlag>
<velocity>0.8</velocity>
<pan_L>0.5</pan_L>
<pan_R>0.5</pan_R>
<pitch>0</pitch>
<key>C0</key>
<length>-1</length>
<instrument>0</instrument>
<note_off> (...)";"GMkit";"0";"Kick";"Kicks"
8;" <note>
<position>168</position>
<leadlag>0</leadlag>
<velocity>0.8</velocity>
<pan_L>0.5</pan_L>
<pan_R>0.5</pan_R>
<pitch>0</pitch>
<key>C0</key>
<length>-1</length>
<instrument>10</instrument>
<note_o (...)";"GMkit";"10";"Open HH";"Hihats Open"
9;" <note>
<position>48</position>
<leadlag>0</leadlag>
<velocity>0.8</velocity>
<pan_L>0.5</pan_L>
<pan_R>0.5</pan_R>
<pitch>0</pitch>
<key>C0</key>
<length>-1</length>
<instrument>2</instrument>
<note_off (...)";"GMkit";"2";"Snare Jazz";"Snares"
10;" <note>
<position>108</position>
<leadlag>0</leadlag>
<velocity>0.8</velocity>
<pan_L>0.5</pan_L>
<pan_R>0.5</pan_R>
<pitch>0</pitch>
<key>C0</key>
<length>-1</length>
<instrument>1</instrument>
<note_of (...)";"GMkit";"1";"Stick";"Sticks Rims"
11;" <note>
<position>0</position>
<leadlag>0</leadlag>
<velocity>0.8</velocity>
<pan_L>0.5</pan_L>
<pan_R>0.5</pan_R>
<pitch>0</pitch>
<key>C0</key>
<length>-1</length>
<instrument>12</instrument>
<note_off (...)";"GMkit";"12";"Ride Jazz";"Rides Cymbals"
Tabellen-Struktur, grob (bis jetzt)
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
"hydrogen_basepattern"
"hydrogen_basepattern_temp"
"hydrogen_soundbanks"
"hydrogen_soundbankinsts"
"hydrogen_instgroups"
Beispieltabellen
SELECT inst_name, inst_group
FROM public.hydrogen_instgroups;
"Kick";"Kicks"
"Stick";"Sticks Rims"
"Snare Jazz";"Snares"
"Closed HH";"Hihats Closed"
"Crash Jazz";"Crashs"
"Open HH";"Hihats Open"
"Ride Jazz";"Rides Cymbals"
"Hand Clap";"Handclaps"
"Tom Low";"Toms Low"
"Ride Rock";"Rides Cymbals"
"Tom Hi";"Toms High"
"Tom Mid";"Toms Middle"
SELECT soundbank_inst, soundbank, instrument_id, instrument_name
FROM public.hydrogen_soundbankinsts;
"GMkit-11";"GMkit";"11";"Cowbell"
"GMkit-10";"GMkit";"10";"Open HH"
"GMkit-5";"GMkit";"5";"Tom Low"
"GMkit-12";"GMkit";"12";"Ride Jazz"
"GMkit-8";"GMkit";"8";"Pedal HH"
"GMkit-9";"GMkit";"9";"Tom Hi"
"GMkit-4";"GMkit";"4";"Snare Rock"
"GMkit-15";"GMkit";"15";"Crash Jazz"
"GMkit-2";"GMkit";"2";"Snare Jazz"
"GMkit-6";"GMkit";"6";"Closed HH"
"GMkit-3";"GMkit";"3";"Hand Clap"
"GMkit-1";"GMkit";"1";"Stick"
"GMkit-14";"GMkit";"14";"Ride Rock"
"GMkit-0";"GMkit";"0";"Kick"
"GMkit-7";"GMkit";"7";"Tom Mid"
"GMkit-13";"GMkit";"13";"Crash"
( wie immer, alles kein Hexenwerk )
Und
die basepattern_temp sollte freilich nach jedem Durchgang gedropped
werden - das hab' ich noch vergessen. Soweit so gut. Wenn das dann
endlich richtig funzt, mutmaßlich heute abend oder morgen im Laufe des
Tages (allerdings ist dann Rosenmontag, also: mal schau'n ...), geht es
weiter mit der Code-Entwicklung des eigentlichen Creators.
...
<length>-1</length>
<instrument>2</instrument>
<note_off>false</note_off>
</note>
Das Hydrogen-Basis-Pattern wurden in eine temporäre Tabelle der DB emysuk übergeben!
GMkit
GMkit
GMkit
GMkit
GMkit
GMkit
GMkit
GMkit
GMkit
GMkit
GMkit
GMkit
GMkit
GMkit
Check hat zum Ergebnis: TRUE!
Ist bereits vorhanden, nix zu tun! Yippieh!!
Check hat zum Ergebnis: TRUE!
Ist bereits vorhanden, nix zu tun! Yippieh!!
Check hat zum Ergebnis: TRUE!
Ist bereits vorhanden, nix zu tun! Yippieh!!
Check hat zum Ergebnis: TRUE!
Ist bereits vorhanden, nix zu tun! Yippieh!!
Check hat zum Ergebnis: TRUE!
Ist bereits vorhanden, nix zu tun! Yippieh!!
Check hat zum Ergebnis: TRUE!
Ist bereits vorhanden, nix zu tun! Yippieh!!
Check hat zum Ergebnis: TRUE!
Ist bereits vorhanden, nix zu tun! Yippieh!!
Noch jede Menge redundanter Bildschirmausgaben wegen permanenter Fehlersuche gestern abend, nacht und heute morgen früh, ab da an, wo es etwas komplexer wurde. ;-)
Aber wie geschrieben, nu funzt ett ja.
Kölle Alaaf!
WDR 4 Jeck Duell 2019 – Die Karnevals-Hitparade - Karneval hoch vier - WDR 4 - Radio - WDR
Muss fim ja nicht gut, aber auch nicht schlecht finden.
Hans Süper, der am 15. März 75 Jahre alt wird, hat sich nie groß für Hemden oder Anzüge interessiert. "Feine Sachen", das sind für ihn die Musik und das Angeln.
Und
feine Sachen sind für mich meine Hembeleien, Omxlerien und meine
Mysuke. Und nix davon muß fein für anderer Leute Augen onda Ohren sein.
Kommentare
Kommentar veröffentlichen