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

Extreme MIDI Mixer - budujemy edytor dla Roland TD-3

Post autor: Redakcja » czwartek 08 lut 2007, 16:44

Oczywiście nie każdemu taki edytor się przyda, ale spróbujemy na jego przykładzie pokazać choć w skrócie tok postępowania przy budowie własnej aplikacji.



Nasz edytor będzie miał mniej więcej taki wygląd:



Aktualne grafiki (bitmapy) i skrypt zawsze znajdziecie w tym pliku.

Zanim jednak zajmiemy się edytorem warto zgromadzić sobie odpowiednie narzędzia. Oprócz zwykłego, systemowego Notatnika w którym będziemy pisać skrypty będą nam potrzebne jeszcze edytory do grafiki, program do porównywania plików tekstowych oraz wirtualne porty MIDI. Oczywiście naszym założeniem jest aby za nie nie płacić

Zacznijmy od grafiki:

- do edycji bitmap (fotografii) może nam posłużyć GIMP - www.gimp.org lub moim zdaniem niemniej udany Paint.NET - www.getpaint.net

- do edycji grafiki wektorowej zdecydowanie Inkscape - www.inkscape.org

Do porównywania zawartości plików:

- prosty program WinDiff. Z pliku SUPPORT/TOOLS/SUPPORT.CAB na płycie instalacyjnej WinXP należy wypakować do dowolnego katalogu pliki windiff.exe, windiff.hlp oraz gutils.dll. Następnie uruchomić windiff.exe. Program nie wymaga instalacji.

- świetny Word Doc Diff - www.softinterface.com/WDD/WDD.htm

- opcję porównywania zawartości plików ma także popularny Total Commander - http://totalcmd.pl.

Wirtualne porty MIDI udostępni nam słynny MIDI-Yoke - www.midiox.com/myoke.htm

Jeśli ktoś ma ochotę śledzić postęp naszych prac to wpierw niech się zaopatrzy w podane oprogramowanie i koniecznie się z nim choć z grubsza zapozna.
[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 » czwartek 08 lut 2007, 21:47

Powtarzam swoją wizję edytora. Wystarczyły by 2 strony i ewentualnie trzecia dla metronomu.
Strona 1: Mikser do tworzenia zestawów zawierający: volume, pan, gain, wybór brzmienia, może jeszcze przesłuchy (XtalkCancel)
kanały pojedyncze: stopa, tom1, tom2, tom3
kanały podwójne: werbel, crash 1, crash 2, ride
kanał potrójny: HH (pad + pedal)
kanał master: ambience, ewentualnie metronom, encoder lub list dla wyboru zestawów

Strona 2: Ustawienia ogólne dla modułu (ustawiane dla wszystkich zestawów optymalnie i potem rzadko edytowane): pad type, sens, xtalk, treshold, retrigger...Te parametry ustawiamy różnie dla różnych typów padów i pod swoje indywidualne preferencje, rzadko będziemy te pady zmieniać, styl gry tez nie ulegnie zmianie zbyt prędko

Moduł przy zapisie ustawień Bulk Dump wysyła 34 paczki sysex, z czego paczka nr 2 to ustawienia dla całego modułu, a paczki 3-34 zawierają informacje dla zestawów, których jest właśnie 32

Na razie będę robił swoją wersję na grafice dostępnej razem z programem, jak wszystko będzie diałało to zacznę zabawę z podmienianiem.
Brakuje mi tam typowej gałki od panoramy, tj. ustawienie na środku a zamalowanie robi się albo po lewej albo prawej
Jakich programów najlepiej używać? Knob Creator ?
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 » poniedziałek 12 lut 2007, 13:33

Widzę, że na razie tu przycichło. Sam zacząłem dopiero urlop i przez najblizsze dni będę korzystał wyłącznie z kafejek. Na urlop zabrałem lapka moduł i wszystko co potrzebne :) więc jak coś tylko ruszę w temacie to się pojawię.

pozdrawiam i życzę miłej pracy
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 14 lut 2007, 16:35

Doszedłem do wniosku, że funkcje treningowe w tym module są tak rozbudowane, że konieczna jest osobna strona na to ( razem z metronomem). Zdecydowanie ułatwi to pracę z modułem, bo przecież ćwicząc nie potrzebujemy kombinować przy zestawie. Ewentualnie mały mikserek do poziomów głośności triggrerów i panoramy, oraz list lub knob z zestawami.
Jest mały minus takiego miksera w tej sekcji. Zaprogramowany zestaw grzebany później w metronomie na potrzeby ćwiczenia zapamięta ustawienia z sekcji metronom. Może to być nieopłacalne

Redakcjo! Jak się prace posuwają?

pozdrowienia
drummer

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

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

Post autor: Redakcja » sobota 17 lut 2007, 13:24

...Widzę, że na razie tu przycichło...



Troszkę ucichło ale i zadanie domowe też było obszerne . Jeśli jednak zostało już odrobione to czas na następne.

Można już pobrać wprawdzie tymczasowy, ale w miarę obszerny opis programu: EMM-opis.pdf. A było co i o czym pisać . Przyznam, iż wraz z autorem mocno byliśmy tym zaskoczeni. W sensie pozytywnym oczywiście.
[addsig]
Wojciech Chabinka - sekretarz redakcji EiS

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

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

Post autor: Redakcja » niedziela 18 lut 2007, 20:41

...Redakcjo! Jak się prace posuwają? ...



Się posuwają, i to mocno .



Może jednak wpierw zajmijmy się zaszłościami:

1.) pod wspomnianymi już linkami znajdziecie najnowszą wersję opisu programu oraz samego edytora (wciąż w fazie beta, niemniej potrafiącego już to i owo )

2.) w trakcie prac nad tym edytorkiem zderzyłem się z murem nie do przeskoczenia (przynajmniej na razie). Chodzi o to, iż ten modulik wysyła i przyjmuje komunikaty SysEx tylko w postaci patchów. Czyli nie da rady sięgnąć do jakiegokolwiek jego parametru indywidualnie. Aby cokolwiek zmienić w ustawieniach musimy wysłać naraz całą "pakę" w której są zawarte również dane dla przeróżnych innych opcji. Jednym zdaniem: dopóki kolega W.G nie poradzi sobie z wieloma zmiennymi w jednym ciągu SysEx-u nie da się z tym fantem nic zrobić. Na pocieszenie dopowiem, iż okazuje się (po konsultacji z autorem), że zaimplementowanie w programie takiej możliwości jest jak najbardziej realne. Przypuszczam, iż gdy tylko autor upora się z tym problemem to w temacie SysEx-u już nic nas nie zaskoczy

3.) póki co warto się zapoznać z implementacją MIDI tego modułu (roltd3_manual.pdf, str.70). O tym co dobrego (i nie) z niej wynika opiszę następnym razem.
[addsig]
Wojciech Chabinka - sekretarz redakcji EiS

WG
Posty: 1235
Rejestracja: poniedziałek 12 sie 2002, 00:00

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

Post autor: WG » poniedziałek 19 lut 2007, 11:43

ExMixer 1.11

Multicontrol gotowy !
Plik def.mxer na stronie 3-ciej zawiera przykład.

Od razu podpowiem mały trick
Można kontrolować dwa komunikaty a nawet całą serię komunikatów sysex jednocześnie w taki oto sposób:

multicontrol {
sysex F0 43 10 0:7F 0:7F 0:7F 0:7F F7
sysex F0 43 10 0:7F 0:7F F7

#1 fader "A1" -> ten steruje pierwszą zmienną
#2 fader "A2" -> ten steruje drugą zmienną
#3 fader "A3"
#4 fader "A4"

#5 fader "B1"
#6 fader "B2" -> ten steruje szóstą zmienną
}

Zmienne czyli zakres zmieniających się wartości faderów identyfkowane są dwukropkiem ':'

Zmieniając cokolwiek faderami wysyłana będzie cała paczka tych komunikatów znajdująca się w zakresie opcji multicontrol. W powyższym przykładzie zostaną wysłane od razu dwa sysex-y.

-------------------------------------------------------
Natomiast gdy zrobimy tak, czyli rozdzielimy sysex-y na dwa komunikaty multicontrol ...

multicontrol {
sysex F0 43 10 0:7F 0:7F 0:7F 0:7F F7

#1 fader "A1"
#2 fader "A2"
#3 fader "A3"
#4 fader "A4"
}

multicontrol {
sysex F0 43 10 0:7F 0:7F F7

#5 fader "B1"
#6 fader "B2"
}

... wtedy ruch suwaków A wysyła tylko jeden sysex ze swojej grupy, ruch suwaków B wysyła też jeden sysex oczywiście tylko ze swojej grupy multicontrol.

Można tworzyć nawet takie "egzotyczne" kombinacje

multicontrol {
sysex F0 43 0:7F 0:7F 0:7F 0:7F F7
sysex F0 43 0:7F 0:7F 0:7F 0:7F F7
sysex F0 43 0:7F 0:7F 0:7F 0:7F F7
->... definicja faderów ...
}
multicontrol {
sysex F0 43 0:7F 0:7F F7
sysex F0 43 0:7F 0:7F F7
->... definicja faderów ...
}

To jaki suwak czym steruje trzeba sobie już wyliczyć
W powyższym rozbudowanym przypadku mamy 12 zmiennych w pierwszym multicontrol i tyleż trzebaby wstawić suwaków lub gałek aby to kontrolować. W drugim multicontrol mamy 4 zmienne i aby to kontrolować trzeba wstawić cztery suwaczki albo gałki.

Multicontrol musi być KONIECZNIE zamknięty nawiasem bo inaczej będzie kiszka

Miłej zabawy

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

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

Post autor: Redakcja » poniedziałek 19 lut 2007, 12:49

Pytań brak
[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 » wtorek 27 lut 2007, 23:06

Hm
Przyznam że niezbyt miałem czas posiedzieć przy notatniku aż dopiero dzisiaj.
Poczytałem o multi, zczytałem sysex od volume padu werbla, wpisałem i cisza.
*Od owego volume są 2 parametry dla presetu 1 w sysex 3.
*Po przeliczeniu na dziesiętne mam wartości: 15-125 i 0-12, nijak mi się to ma do mojego rozumienia nibble
*Po uzyciu z takim zapisem w presecie 1 jest cisza na werblu w pozostałych max vol bez reakcji na suwak

Wniosek:
1. ?
2. Trudna sprawa :)

pozdrawiam
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, 00:01

...Przyznam że niezbyt miałem czas posiedzieć przy notatniku aż dopiero dzisiaj. Poczytałem o multi, zczytałem sysex od volume padu werbla, wpisałem i cisza...



Jeśli chodzi o zewnętrznie dołączany kontroler Hi-Hat Control, o ile dobrze zrozumiałem, to Volume owego załatwisz z poziomu CC #4 . Możesz dać tam potencjometr lub, co bardziej praktyczne, przełącznik on/off (velocity 00/128)



...nijak mi się to ma do mojego rozumienia nibble...



Faktycznie, ma się to nijak.

Nibble w tym modelu występuje tylko raz, i to jako nibble3 a tyczy się tempa:



sysex F0 41 10 00 76 12 00 00 00 00 00 00 00:01 0A 00 nibble3 i20:260 00:09 00:0F 00:07 00:10 00 00 07 08 00 00 07 08 00 00 07 08 00 00 07 08 00 00 00 01 00 01 02 rolandcrc39 F7



W tym komunikacie znajdziesz w kolejności zmiennych:

Ambience, Tempo (owe nibble w wersji 3 ), CLICK LIST, CLICK LEVEL, BEAT, RYTHM TYPE.

Czyli chyba wszystko(?) na czym Ci zależało w temacie metronomu



...Po uzyciu z takim zapisem w presecie 1 jest cisza na werblu w pozostałych max vol bez reakcji na suwak...



Obawiam się, iż nie tylko w pozostałych



...Wniosek: ..Trudna sprawa :)...



Cóż, nikt nie powiedział, że będzie łatwo. Co gorsza, mnie też



Roland TD-3 należy do kategorii instrumentów, które przyjmują komunikaty Exsclusive tylko w postaci ciągu parametrów. Czyli budując dla niego edytor należy pamiętać, iż pominięcie w nim choć jednej zmiennej spowoduje "ustawienie" jej na stałe. Skutkuje to tym, iż wysyłając pozostałe parametry musimy się liczyć z tym, iż zmienna którą nie objęliśmy edycją będzie "ustawiona" na sztywno w naszym ciągu.

Z tego wniosek, iż albo zbudujemy edytor dla wszystkich parametrów danego ciągu, albo po wysłaniu go, ręcznie (w module) będziemy musieli zmieniać parametry, których nie uwzględniliśmy w naszym edytorze. Nie jest to zbyt komfortowe rozwiązanie.



Kolego mytnik, na pocieszenie powiem, iż prace idą w dobrym kierunku .

Akurat przykład (edytor) Twojego urządzenia, jak żaden do tej pory, przysłużył się mocno do rozwoju samego programu. Pozwól jednak, iż kulisy opiszę w innym czasie .
[addsig]
Wojciech Chabinka - sekretarz redakcji EiS

ODPOWIEDZ