Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Jeśli chcesz zasięgnąć rady, podzielić się doświadczeniem w trudnej sztuce samodzielnego programowania - to tu jest miejsce, aby tego dokonać.
Redakcja
Posty: 1410
Rejestracja: środa 23 sty 2002, 00:00

Re: Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Post autor: Redakcja » środa 28 lut 2007, 00:46

...od volume padu werbla, wpisałem i cisza...

Cholera, późno już i nie załapałem .
Oczywiście, że nie chodzi o Hi-Hat Pedal.
Możesz stworzyć komunikat który zmieni Volume tylko owego werbla. Do tego akurat nie trzeba posługiwać się nibble, potrzeba "tylko" wiedzieć jaki bajt w ciągu sysex'u odpowiada za ową głośność.
Np. za Volume Ride Bow odpowiada ten wytłuszczony:
sysex F0 41 10 00 76 12 01 00 00 00 00 00 0F 00 01 12 14 00 00 00 00 00 02 04 18 0F 02 00 71 00 02 0E 30 0F 03 00 31 0F 02 0D 32 0F 02 09 00 0F 03 01 00 00 03 09 00 00:0F 03 03 19 0F 02 08 43 0C 01 0A 53 0D 03 07 50 0D 03 04 4C 0B 03 05 rolandcrc70 F7.
Dla Drum Kit: Acoustic i Ambience Type: n1.
[addsig]
Wojciech Chabinka - sekretarz redakcji EiS

Awatar użytkownika
mytnik
Posty: 1308
Rejestracja: czwartek 20 maja 2004, 00:00

Re: Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Post autor: mytnik » środa 28 lut 2007, 08:44

....
**********************
rolandcrc39
rolandcrc70

O tym ustrojstwie na smierć zapomniałem. Jak tylko wyjdę z pracy zabieram sie za kolejne experymenty. Panie Wojtku, jaką metodą dojść do tej sumy kontrolnej, WG wspomniał wczesniej że to wielka niewiadoma jest i może wynosić od do w duuużym przedziale
drummer

Redakcja
Posty: 1410
Rejestracja: środa 23 sty 2002, 00:00

Re: Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Post autor: Redakcja » środa 28 lut 2007, 10:36

Panie Wojtku, jaką metodą dojść do tej sumy kontrolnej, WG wspomniał wczesniej że to wielka niewiadoma jest i może wynosić od do w duuużym przedziale...



Przy tak długich ciągach ręczne obliczanie sumy kontrolnej dla Rolanda jest co najmniej kłopotliwe, żeby nie powiedzieć inaczej . Na szczęście program robi to za nas automatycznie. Wystarczy go tylko poinformować z ilu parametrów ma on ją obliczyć. I tak "rolandcrc3" mówi mu aby obliczył sumę z 3 poprzedzających "rolandcrc" bajtów.

Przykład:

F0 41 10 42 12 xx yy zz rolandcrc3 F7

W podanym przykładzie program obliczy sumę kontrolną dla xx yy zz. Czemu nie dla wszystkich danych ciągu? Ano temu, że sumę oblicza się ze zmiennych, natomiast:

F0 - to początek ciągu SysEx (stała)

41 - numer identyfikacyjny firmy Roland (stała)

10 - ID egzemplarza (stała)

42 - ID dla GS (stała)

12 - kod DT1; start sending data (stała)

xx - (zmienna)

yy - (zmienna)

zz - (zmienna)

rolandcrc3 - tu właśnie "normalnie" znajduje się suma kontrolna (checksum)

F7 - zakończenie ciągu SysEx (stała).
[addsig]
Wojciech Chabinka - sekretarz redakcji EiS

Awatar użytkownika
mytnik
Posty: 1308
Rejestracja: czwartek 20 maja 2004, 00:00

Re: Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Post autor: mytnik » środa 28 lut 2007, 10:56

czyli w naszym przypadku stałe to

F0 41 10 00 76 zmienne rolandcrc_ilosc_zmiennych F7

wielkie dzięki :)
drummer

Redakcja
Posty: 1410
Rejestracja: środa 23 sty 2002, 00:00

Re: Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Post autor: Redakcja » środa 28 lut 2007, 19:56

Dokładnie tak



Jak widzę też załapałeś bakcyla. A skoro tak, to może teraz małe zadanko?

Załóżmy, że zrobimy sobie edytorek który pozwoli nam w konkretnym DRUM KIT (1-32) na przyporządkowanie do każdego padu odpowiedniego brzmienia, ustawienia go w panoramie oraz nadanie mu odpowiedniej głośności. Mało tego, pozwoli na okraszenie całości odpowiednim efektem.

Wcześniej jednak musimy wyłowić co i za co odpowiada oraz w jakim ciągu. Oczywiście mowa o danych zapisanych za pomocą Bulk Dump (najlepiej jako ALL). Jak już wspomniałem nie jest to proste, sam Sherlock H. nie dałby rady, bo tu bez kompa ani rusz

Nam jednak udało się wszystko w tym zakresie już wyczaić. I co dalej z tym fantem zrobić?

Podpowiadam: posłużymy się najnowszą funkcją multicontrol. Ta, genialna w swej prostocie a przy tym niezastąpiona przy dłuuugich ciągach sysex'u funkcja pozwoli nam na kontrolę dowolnej zmiennej zawartej w danym ciągu nie burząc przy tym ustawień dla pozostałych zmiennych.



Przykład:

multicontrol {

sysex F0 41 10 00 76 12 01 00:1F 00 00 00:0E 00:1E 00:1E 00:1E 00:1E 00:1E 00:1E 00:1E 00:1E 00:1E 00:71 00:0F 02 04 00:71 00:0F 02 06 00:71 00:0F 02 0E 00:71 00:0F 03 00 00:71 00:0F 02 0D 00:71 00:0F 02 09 00:71 00:0F 03 01 00:71 00:0F 03 09 00:71 00:0F 03 03 00:71 00:0F 02 08 00:71 00:0F 01 0A 00:71 00:0F 03 07 00:71 00:0F 03 04 00:71 00:0F 03 05 rolandcrc70 F7



... - definicje obiektów i elementów

}



A teraz zmienne w kolejności ich występowania w tym ciągu:

DRUM KIT EDIT

AMBIENCE & TYPE

PANORAMA - Kick

PANORAMA - Snare Head/Rim

PANORAMA - Hi-Hat Bow/Edge

PANORAMA - Tom 1

PANORAMA - Tom 2

PANORAMA - Tom 3

PANORAMA - Crash 1 Bow/Edge

PANORAMA - Crash 2 Bow/Edge

PANORAMA - Ride Bow/Edge

INSTRUMENT - Kick

LEVEL - Kick

INSTRUMENT - Snare Head

LEVEL - Snare Head

INSTRUMENT - HI-Hat Bow

LEVEL - HI-Hat Bow

INSTRUMENT - Tom 1

LEVEL - Tom 1

INSTRUMENT - Tom 2

LEVEL - Tom 2

INSTRUMENT - Tom 3

LEVEL - Tom 3

INSTRUMENT - Crash 1 Bow

LEVEL - Crash 1 Bow

INSTRUMENT - Crash 2 Bow

LEVEL - Crash 2 Bow

INSTRUMENT - Ride Bow

LEVEL - Ride Bow

INSTRUMENT - Snare Rim

LEVEL - Snare Rim

INSTRUMENT - HI-Hat Edge

LEVEL - HI-Hat Edge

INSTRUMENT - Crash 1 Edge

LEVEL - Crash 1 Edge

INSTRUMENT - Crash 2 Edge

LEVEL - Crash 2 Edge

INSTRUMENT - Ride Edge

LEVEL - Ride Edge



To "na dziś" wszystko . Cała reszta już w Twych rękach. Przy czym, jak wiesz, aby "dostać się" do parametru konkretnego pada należy w niego uderzyć. A to akurat mało zawodowe rozwiązanie. Wszak jeśli zestaw będzie stał za szybą reżyserki to będziesz potrzebował pomocnika do walenia po plackach. Znacznie praktyczniejszym sposobem będzie zaimplementowanie w programie (na naszej Stronie) owych padów tak, aby po kliknięciu na któregokolwiek program sam zrozumiał co ma edytować. A można to zrobić posługując się prostymi już komunikatami note on/off.



Przykład:

#[coś tam] button [x y] " Hi-Hat Bow "

ON ctrl 99 46 127

OFF ctrl 89 46 0

comment "Bow|(Head)"



Aby nie być gołosłownym to taki edytorek (jako Strona) mógłby wyglądać np. tak:



Działa znakomicie
[addsig]
Wojciech Chabinka - sekretarz redakcji EiS

Awatar użytkownika
mytnik
Posty: 1308
Rejestracja: czwartek 20 maja 2004, 00:00

Re: Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Post autor: mytnik » środa 28 lut 2007, 20:25

ano wygląda że załapałem i już jestem w połowie swojego miksera nie mam nawet czasu teraz przeczytać powyższego posta. najpierw skończę swoją wersję, potem ją udostępnie jutro wszystko poczytam i bedziemy chyba w końcu bardziej konkretnie dyskutować coś mi się zdaję.
pozdrawiam
drummer

Awatar użytkownika
mytnik
Posty: 1308
Rejestracja: czwartek 20 maja 2004, 00:00

Re: Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Post autor: mytnik » środa 28 lut 2007, 22:09

Przyznam, że mam ogromną radochę z rozgryzania tajników midi poprzez programowanie tego urządzenia i tu wielki ukłon w stronę samego autora narzędzia, Pana WG. Na temat MIDI trochę czytałem tu i ówdzie, ale prawdziwe oświecenie przychodzi podczas samodzielnej pracy z komunikatami w tym środowisku!

Dziwnie to wygląda, ale jak pojawił się wątek z rozpiską całego sysexu praktycznie byłem w tym samym miejscu i o dziwo szybko do tego doszedłem praktycznie nieużywając programu do porównywania plików.

Ustawiłem na każdym padzie ten sam instrument (pierwszy z listy czyli stopa) z tą samą głośnością i panoramą (maxVol i maxR). Jak na tacy w paczce nr 3 (pierwszy zestaw) pojawiły się powtarzające 0F=maxVol i 1E=maxR.

Następnie wystarczyło opukać kolejno każdy pad i dobrać suwak.
Po trafieniu zmienić nazwę w
#nr fader "nr" na właściwą nazwę, np. HH vol

Tutaj pojawia się pierwszy problem z multicontrol.
Nie mam pojęcia jak do panoramy wstawić gałki pozostawiając suwaki na volume.

Efekt mojej pracy jest
TUTAJ

Do Redakcji: Wcześniejsza pomyłka z HH przy odpowiedzi do werbla zostanie na pewno przeze mnie wykorzystana, więc nie ma tego złego...
Za dzisiejszą publikację serdecznie dziękuję i i gratuluję świetnego designu. Ja to muszę niestety zostawić na koniec bo z grafiki jestem noga:(

Na dzisiaj już wysiadam, więc do jutra
pozdrawiam


drummer

Awatar użytkownika
mytnik
Posty: 1308
Rejestracja: czwartek 20 maja 2004, 00:00

Re: Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Post autor: mytnik » środa 28 lut 2007, 22:54

No jednak nie wytrzymałem i jeszcze siedzę coby zakończyć w pełni dzisiejszy dzień



---------------------------------------------------

... to może teraz małe zadanko?

Załóżmy, że zrobimy sobie edytorek który pozwoli nam w konkretnym DRUM KIT (1-32) na przyporządkowanie do każdego padu odpowiedniego brzmienia, ustawienia go w panoramie oraz nadanie mu odpowiedniej głośności. Mało tego, pozwoli na okraszenie całości odpowiednim efektem...

...Podpowiadam: posłużymy się najnowszą funkcją multicontrol.

--------------------------------------------------

właśnie do tego zmierzam w swoich działaniach ale przystopowało mnie wstawianie różnych elementów (pisałem wyżej o gałkach i suwakach). Próba wstawienia różnych zajęła mi dzisiaj chwilę i nie doszedłem do niczego





sysex F0 41 10 00 76 12 01 00:1F 00 00 00:0E 00:1E 00:1E 00:1E 00:1E .............00:0F 03 05 rolandcrc70 F7

----------------------------------------------------

I tutaj długo popełniałem ten sam błąd, mianowicie dokładałem rolandcrc przed F7 zamiast ZASTĄPIĆ dziwnie zachowującą się zmienną - chyba właśnie ową sumę kontrolną







To "na dziś" wszystko . Cała reszta już w Twych rękach. Przy czym, jak wiesz, aby "dostać się" do parametru konkretnego pada należy w niego uderzyć. A to akurat mało zawodowe rozwiązanie. Wszak jeśli zestaw będzie stał za szybą reżyserki to będziesz potrzebował pomocnika do walenia po plackach. Znacznie praktyczniejszym sposobem będzie zaimplementowanie w programie (na naszej Stronie) owych padów tak, aby po kliknięciu na któregokolwiek program sam zrozumiał co ma edytować. A można to zrobić posługując się prostymi już komunikatami note on/off.

---------------------------------------------------

Nie myślałem o tym ponieważ sam jestem perkusistą i najlepiej ustawię zestaw grając na nim. Oczywiście taka opcja jest potrzebna i jak najbardziej jestem za.



pozdr



drummer

Redakcja
Posty: 1410
Rejestracja: środa 23 sty 2002, 00:00

Re: Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Post autor: Redakcja » środa 28 lut 2007, 23:02

Brawo!



...Tutaj pojawia się pierwszy problem z multicontrol.

Nie mam pojęcia jak do panoramy wstawić gałki pozostawiając suwaki na volume...



To akurat nie problem, wystarczy zadeklarować panoramy jako knob: a

pozostałe jako fader:.

Czyli np.:



page 2 "Prymitywny mixerek"

multicontrol {

sysex F0 41 10 00 76 12 01 00 00 00 00 00:0F 00:1E 00:1E 00:1E 00:1E 00:1E 00:1E 00:1E 00:1E 00 00:1E 02 04 00 00:0F 02 00 00 00:0F 02 0E 00 00:0F 03 00 00 00:0F 02 0D 00 00:0F 02 09 00 00:0F 03 01 00 00:0F 03 09 00 00:0F 03 03 00 00:0F 02 08 00 00:0F 01 0A 00 00:0F 03 07 00 00:0F 03 04 00 00:0F 03 05 rolandcrc70 F7



knob:

elements 49

move vertical

vbitmap "galka.bmp"

text 0 0 bottom center box medred font "Tahoma" white bold

vtext -2 0 middle font "Tahoma" white bold stretch 1 1

#1901 knob 40 50 "BD pan"

#1902 knob 160 50 "SD pan"

#1903 knob 480 50 "HH pan"

#1904 knob 280 50 "T1 pan"

#1905 knob 320 50 "T2 pan"

#1906 knob 360 50 "T3 pan"

#1907 knob 620 50 "C1 pan"

#1908 knob 720 50 "C2 pan"

#1909 knob 820 50 "R pan"



fader:

bitmap "suwaczek.bmp"

vbitmap "suwaczek_add.bmp" 16 13

move vert 128

vtext 0 -20 box ltgray center font "Tahoma" 10 black bold

text bottom center box color 0030AE font "Tahoma" 10 white bold

stretch 1 1

#1910 fader 23 130 "BD vol"

#1911 fader 123 130 "SD vol"

#1912 fader 443 130 "HH vol"

#1913 fader 263 130 "T1 vol"

#1914 fader 303 130 "T2 vol"

#1915 fader 343 130 "T3 vol"

#1916 fader 583 130 "C1 vol"

#1917 fader 683 130 "C2 vol"

#1918 fader 783 130 "R vol"

#1919 fader 163 130 "SD rim"

#1920 fader 483 130 "HH rim"

#1921 fader 623 130 "C1 rim"

#1922 fader 723 130 "C2 rim"

#1923 fader 823 130 "R rim"

}
[addsig]
Wojciech Chabinka - sekretarz redakcji EiS

Awatar użytkownika
mytnik
Posty: 1308
Rejestracja: czwartek 20 maja 2004, 00:00

Re: Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Post autor: mytnik » środa 28 lut 2007, 23:13

To akurat nie problem, wystarczy zadeklarować panoramy jako knob: a
pozostałe jako fader:.
Czyli np.:
page 2 "Prymitywny mixerek"
---------

**********************
ale czad

po prostu z instrukcji jako definicję faderów potraktowałem wyłacznie

#1901 fader 20 20 "A"

zamiast

fader:
bitmap "suwaczek.bmp"
vbitmap "suwaczek_add.bmp" 16 13
move vert 128
vtext top box ltgray center font "Tahoma" 10 black bold
text bottom center box color 0030AE font "Tahoma" 10 white bold
stretch 1 1


Jutro będzie cały mixer gotowy w takim razie:)
drummer

ODPOWIEDZ