/* Nutzloses zu GM_SLCTR.APP */                /* last change: 15.07.1994 */


Hallo, vieleicht geht's Dir denn genau so wie mir. Ich hasse n„mlich
LIESMICH - Dateien.
Meist ist in diesen ohnehin nur nutzloses beschrieben, und geben wir's doch
mal zu, diese Dateien werden doch wirklich nur im „užersten Notfall gelesen.
Fr mich stand der Name fr diese Datei somit fest, doch genug dieser lang-
weiligen Vorrede, im folgenden wird's noch bertroffen!

Zu dem Programm geh”ren die Dateien
        README.TXT      -    Nutzungsbestimmungen!
        INHOUD.TXT      -    Inhaltsangabe des Ordners
        GM_SLCTR.APP    -    Das Programm  (General-MIDI Soundselector).
        GM_SLCTR.ACC    -    Das Accessory (General-MIDI Soundselector).
        03R_W.GM        -    Datei mit GM-Soundnamen des KORG 03R/W
        SC_55.GM        -    Datei mit GM-Soundnamen des ROLAND SC-55
        U_220.GM        -    Datei mit GM-Soundnamen des ROLAND U-220
        U220.GM         -    (Hinweis fr U-220 folgt am Ende des Textes)
        HELP.GM         -    Kleine "Online"-Hilfedatei, wenn ich es so
                             nennen darf. Als GM-Datei einladen.
                             (Irgendwie kam ich auf die dumme Idee, die Pop-
                             up-Mens zur Darstellung von Hilfstexten zu
                             mižbrauchen, vieleicht werde ich diese Idee
                             im sp„teren Programm noch verbessern)
        NUTZLOSE.S      -    Diese Datei, die niemals gelesen wird.
        GM_03R_W.APP    -    Das 'kleine' Programm.
        ( Wer will, darf dieses Programm auch in GM_03R/W.APP umbennen! )
        GM_03R_W.ACC    -    Das 'kleine' Accessory.
        ( Wer will, darf dieses Programm auch in GM_03R/W.ACC umbennen! )



Das vorliegende Programm GM_SLCTR.APP (ich schreibe den Namen so gerne)
widmet sich einem speziellen Problemkreis, n„mlich den sp„rlich ausgestat-
teten Bedienoberfl„chen neuer elektronischer Musikinstrumente, genauer
General MIDI - kompatible Synthesizer/Expander.
Bsp. Der Roland U-220 (zwar nicht voll GM-komp., aber bei entsprechender
Programmierung funktionierts teilweise) bot an Bedienelementen ganze 12
Tasten, die zur vollst„ndigen Programmierung des Ger„tes dienen sollen -
und dies funktionierte tats„chlich unter Aufwendung aller erdenklichen An-
strengungen. Der KORG 03R/W hat diese Anzahl der Tasten noch um zwei ver-
ringert (ja, ich weiž es gibt auch den U-110, Ihr ewigen N”rgler, der auch
nicht mehr Tasten hat), das ohnehin bei fast allen Ger„ten viel zu kleine
Display ist unterboten worden, die Benutzerfhrung ist fast schon unzumut-
bar. Man kann sich dabei natrlich auf den Standpunkt stellen, daž ohnehin
zur Programmierung der Ger„te ein separates Editorprogramm verwendet wird,
doch einfache Bedienschritte sollten am Ger„t selbst einfach durchzufhren
sein. (Nein, ich habe kein neues Editorprogramm geschrieben, aber ich merke
schon, ich schweife zu weit ab, also zurck zum eigentlichen Problem, dem
Žrgernis 03R/W.) 
Wenn man bei diesem im GM-Modus arbeiten will, scheint es manchmal so, als
wird das kleine Display noch viel kleiner (auf dem 2x16 grožen "Grožbild-
schirm" werden gleichzeitig 4 Tracks (ich hasse auch die Namensgebung) ne-
beneinander angezeigt, doch weiter im Text.
Durch die Gr”že des Displays bedingt ist es nicht m”glich, die Soundnamen
anzuzeigen, sondern nur die Soundnummern.
Doch was macht man, wenn man gezielt z.B. die Trompete ausw„hlen will?
1. Trial and Error - Methode
2. Liste mit Soundnamen und -nummern neben Keyboard legen und bei Bedarf
   suchen? (Wenn dies tats„chlich durchgefhrt wird, hat man st„ndig einen
   riesigen Stapel an Listen herumliegen, da z.B. auch die verschiedenen
   Tastaturbelgungen in diversen Programmen (ist die Tastenbelegung in die-
   sem Programm zu Laden nun ^L, wie "load", oder ^o, wie "open") auch in
   eine solche Liste geh”ren. Doch solche Hilfslisten haben berdies die An-
   gewohnheit, ausgerechnet dann verschwunden zu sein, wenn sie dringent ge-
   braucht werden. (Liegt die direkte Proportionalit„t "Die Wahrscheinlich-
   keit fr das Verschwinden von Unterlagen ist direkt proportional zu deren
   Wichtigkeit" vor?)
3. Alle Soundnamen und -nummern auswendig lernen und die Nummer 57 ber die
   Tasten ausw„hlen?
4. Auch auswendig lernen, aber Programmchange vom Keyboard aus senden (doch
   was ist, wenn z.B. nur 1-96 gesendet werden kann, und eine h”here Nummer
   soll gesendet werden)?
5. Erinnern, daž die Sounds in 16 8-er Gruppen organisiert sind, also die
   Gruppen, und den Platz des Sounds innerhalb einer Gruppe ausw. lernen,
   dann die entsprechende Soundbank und die entspr. Nummer gezielt ausw„h-
   len? Žtsch! Geht beim 03R/W nicht! - Im GM-Mode k”nnen die Sounds nur in
   Einerschritten durchlaufen werden, da die entsprechende Zehnerschritt-
   Taste anders belegt ist. Aber die Zehnertaste w„re ohnehin nicht sinn-
   voll, da die Sounds ohnehin wie schon gesagt in 8er Gruppen organisiert
   sind, und somit ein noch dmmeres st„ndiges Umrechnen notwendig w„re.
6. Dasselbe Problem wie unter 5. ergibt sich, wenn man ein Keyboard besitzt,
   das glcklicherweise alle 1-128 Programm-Changes senden kann, aber auch
   im 10er System organisiert ist, und wie unter 5. verfahren werden soll.
(Diese Liste ist nicht vollst„ndig, ich h”re hier nur auf, weil's sogar mich
langweilt!)


Also alle diese M”glichkeiten sind meiner Meinung nach nicht gerade optimal,
deshalb habe ich dieses Programm geschrieben, das eine weitere M”glichkeit
hinzufgt (die ebenfalls nicht optimal ist?), n„mlich die Benutzung der Pro-
gramme GM_SLCTR.APP, GM_SLCTR.ACC, GM_03R_W.APP oder GM_03R_W.ACC.


****************************************************************************


(Hier folgt nun endlich die lang erwartete Programmbeschreibung!)

Nach dem Starten des Programmes, das brigens auch als Accessory l„uft,
wenn der Dateiname entsprechend ge„ndert wird erscheint eine "normale"
Dialogbox. So normal ist die Dialogbox brigens auch wieder nicht, es
wurden die MyDials von Olaf Meisiek und NKCC von Harald Siegmund verwendet!
Aužerdem wurde sie zeitgem„ž in ein GEM-Fenster verfrachtet, um auch unter
Multitaskingumgebungen erlauben zu k”nnen, daž zwischendurch auch andere
Programme zum Zuge kommen.
Falls beim Start des Programmes kein freies Fenster mehr existiert verab-
schiedet sich das Programm sofort mit einer Fehlermeldung.

Doch nun lieber weiter mit der Beschreibung.

Im oberen Bereich enth„lt die Dialogbox drei Popupmens, die zum Anw„hlen
von einer Soundgruppe, eines Soundnamen und eines MIDI-Kanals dienen.

Bedienung  >Popup mit Cyclebutton<
Hinter dem schattierten Feld verbirgt sich eine Auswahlm”glichkeit. Klickt
man auf das Feld, so erscheint ein kleines Men, bei dem der vorgew„hlte,
aktuelle Eintrag durch ein H„kchen gekennzeichnet ist.
Ein (Einfach-)Klick auf das Feld rechts (Cyclebutton) w„hlt den n„chstfol-
genden Eintrag zyklisch aus. Nach einem Doppelklick auf das Feld werden die
Eintr„ge in der anderen Richtung durchlaufen.

Popup-Mens lassen sich mit der Maus oder der Tastatur steuern. Mit der Maus
wird der Eintrag gew„hlt, auf dem sich der Mauszeiger befindet, wenn die
Maustaste gedrckt oder, falls die Maustaste nach dem Erscheinen des Popup-
Mens gedrckt gehalten wurde, losgelassen wird. Die Steuerung ber Tastatur
erfolgt mit Cursor aufw„rts bzw. Cursor abw„rts. Gew„hlt wird der Eintrag
durch Drcken der Return-Taste. Soll kein Eintrag gegew„hlt werden, so muž
Esc gedrckt werden.

Unterschied in der Bedienung des Popup-Mens zur Anwahl einer Soundgruppe:
Wird im oberen Popup-Men das jeweils dargestellte Icon, das die Sound-
gruppe bildlich darstellen soll (ein Bild sagt mehr als 1000 Worte) mit
der Maus angew„hlt und angeklickt, dann klappt das Popup-Men nur herunter,
eine neue Soundgruppe kann auf folgende Weisen ausgew„hlt werden:
Entweder die gewnschte neue Soundgruppe mit der Tastatur (s.o.) ausw„hlen,
oder den Mauszeiger nach links (zu den Auswahltexten) bewegen werden ->
Text unter dem Mauszeiger wird invertiert, das Men funktioniert dann wie
oben. Hinweis: In den Popup-Mens k”nnen die Bilder nicht angew„hlt werden!

Wird das Popup-Men (fr Soundgruppe) ber den Texteintrag in der Dialogbox
oder ber den entsprechenden Tastaturcode angew„hlt, wird das Popup-Men
auch ge”ffnet, aber das Icon fr den Texteintrag, das ber dem Popup-Aufruf-
Button (hier ist mir kein besserer Name eingefallen) normalerweise zu sehen
sein sollte wird nicht dargestellt. I.d.R. ist dies das voreingestellte,
d.h. mit dem H„ckchen versehene Meneintrag, h„ufig ist aber "der Bild-
schirm zu klein", d.h. das Popup-Men kann nicht richtig auf dem Bildschirm
dargestellt werden, so daž der entsprechende Meneintrag ber dem Aufruf-
Button zu liegen kommt.


Unterhalb der Popupmens befindet sich eine Einstellungsm”glichkeit, die
sich mit dem Senden der Program-Change-Befehle befažt.
Abh„ngig von der Einstellung der Radiobuttons werden die Program-Changes
automatisch (d.h. nach anw„hlen der Popupmens), oder nur manuell (anklik-
ken des zugegeben schlecht gezeichneten 03R/W-Icons, anklicken auf des Tex-
tes "Sende den Prog..." oder bet„tigen des entsprechenden Tastaturkommandos.

Beim Senden des Programmwechselbefehls wird das 03R/W-Icon kurz invertiert,
um dem Benutzer zu signalisieren, das MIDI-Daten gesendet werden.
(Bei manuellen Ausl”sen des Sendevorganges wird das Icon zweimal, beim auto-
matischen Ausl”sen des Sendevorganges nur einmal kurz invertiert. - Was fr
ein Deutsch!)

Bedienung >Radiobutton<
Eine der mit einem Kreis gekennzeichneten Optionen innerhalb einer Gruppe
kann gew„hlt werden. Sie wird durch einen Klick auf den Kreis oder den da-
zugeh”rigen Text selektiert.


Am unteren Rand der Dialogbox befinden sich drei Buttons. 
Button >Info< ruft meine wahnsinnig wichtige Copyrightbox auf, damit Du ge-
nau weižt, wer den fr dieses Programm verantwortlich ist (und damit ich
meinen Namen in meinem Programm lesen kann!). Diese Box kann dummerweise
wieder ber den Exit-Button verlassen werden (aber sie l„žt sich ja immer
wieder aufrufen - hey, das macht Spaž, das mužt Du unbedingt mal auspro-
bieren). šbrigens wird auch diese Box in einem Fenster dargestellt, sofern
noch ein freies Fenster existiert. Andernfalls erscheint erst eine Alert-
box, um auf das Fehlen eines freien Fensters hinzuweisen. Nach Best„tigen
der Alertbox erscheint dann die Infobox als normale Dialogbox, ist aber zu-
mindest flugf„hig.

Button >Laden< erm”glicht das Laden (so ein Zufall) einer GM-Datei (was ist
denn das? - Erkl„rung folgt sp„ter), die die Soundnamen enth„lt. Dadurch
kann das Programm z.B. fr den Roland SC-55 verwendet werden (das kann man
auch ohne die GM-Datei, aber mit werden die entsprechenden Soundnamen des
Sound-Canvas angezeigt - es gibt einige Abweichungen in der Benamung!).

Button >Ende< beendet dieses Programm, aber wer will das Programm denn
schon verlassen?

****************************************************************************

Einige Einsatzm”glichkeiten fr dieses Programm sind:
1.) einfach nur so starten, weil die Dialogbox so sch”n ist!
2.) einfach nur so starten, weil es sich mit den Popup-Mens so schon
    herumspielen l„žt!
3.) einfach nur so starten, weil die Info-Box so sch”n ist!
4.) einfach so starten, um mit meinem Hilfs-System zu exerimentieren!

oder auch nur
5.) Aufruf des Programmes aus einem Sequenzerprogramm heraus (als ACC),
    um gezielt GM-Sounds anzuw„hlen.

Wer sich nun fr die M”glichkeiten 1.) bis 4.) entschieden hat, dem darf
ich fr diese gute Wahl beglckwnschen - den Unverbesserlichen, die die
5. M”glichkeit den anderen vorziehen, hoffe ich mit dem Programm etwas
geholfen zu haben.

****************************************************************************

Das Programm GM_03R_W.APP (GM_03R_W.ACC) ist eine etwas 'kleinere' Version
des GM-Selectors. Kleiner bezieht sich dabei weniger auf die Programm-
l„nge (der Unterschied dabei auch nicht besonders grož) als auf den Funk-
tionsumfang. So ist es dabei nicht m”glich, andere Anpassungen (GM-Dateien)
zu laden, d.h. das Programm bezieht sich immer auf den KORG 03R/W, was
aber im wesentlichen keine Beeintr„chtigung darstellt. Auch werden in der
'kleinen' Version die MIDI-Programchanges generell nach der Auswahl eines
neuen Sounds/einer neuen Soundgruppe gesendet. Die Haupt-Dialogbox wurde
etwas verkleinert (vieleicht noch zu grož?), kann sich also jetzt besser
parallel zu einem laufenden Sequencerprogramm auf dem Bildschirm befinden,
um die entsprechenden Soundeinstellungen komfortabler (?) vornehmen zu
k”nnen. Zus„tzlich sind auch die Bilder zur Soundgruppenauswahl nicht vor-
handen (noch nicht!).
Das Programm kann mit <CONTROL>-<Q> oder durch Anklicken des Schliežfelds
beendet werden. <HELP>, beziehungsweise Anklicken des Fenster-Vollfelds,
anklicken des (kleinen) "Info-Button" oder Doppelklick auf das GM-Icons ruft
meine Copyright-Box auf (auf die konnte und durfte ich nicht verzichten).
Der (kleine) "GM-Init-Button" oder <ALT>-<I> initialisiert das GM-Multi-Set
des 03R/W's, d.h. es wird auf die Grundeinstellung gebracht, in der sich das
Multi-Set auch beim Einschalten befindet (aužer, daž sich das Ger„t nun so-
fort im GM-Modus befindet - beim Einschalten befindet sich der 03R/W ja
sonst blich immer im Combi-Modus - der GM-Modus muž also nicht explizit an
einer der kleinen Tasten des 03R/W eingestellt werden). BEACHTE: Die bis-
herigen Einstellungen des Multi-Sets im 03R/W (aužer die Einstellungen der
EffektAbteilung) gehen dabei verloren - die Einstellungen im GM_03R/W-Pro-
gramm bleiben hingegen erhalten.
An sonstigen Tastatur-Funktionen sind nur noch 'ALT-G' bis 'ALT-P' (siehe
nachfolgend) eingebaut.

****************************************************************************

Es folgen die unwichtigen
Tastaturkommandos: (Ich hoffe, ich hab sie nicht wieder ge„ndert!!!)
==================
(Die Tastencodes sind gr”žtenteils in der Dialogbox durch Unterstrichene
Buchstaben in Texten oder Buttons gekennzeichnet.)

Fr GM_SLCTR und GM_03R_W:
ALT-G:	W„hle Soundgruppe
ALT-H:	N„chste/vorherige Soundgruppe

ALT-K:	W„hle Kanal
ALT-L:	N„chster/vorheriger Kanal

ALT-O:	W„hle Sound
ALT-P:	N„chster/vorheriger Sound

(n„chstes/vorheriges abh„ngig von der Einstellung des Cyclebuttons, s.o.)

Nur fr GM_SLCTR:
ALT-S:	Sende Programmchange
ALT-M:	Programm-Change-Befehle werden sofort nach Auswahl eines neuen
        Sound, Kanal oder einer neuen Soundgruppe gesendet
ALT-N:	Programm-Change-Befehle werden nur auf explizite Aufforderung (entw.
        durch ALT-S oder durch anklicken des Icons)

ALT-A:	Eine GM-Datei kann hiermit geladen werden.

Fr GM_SLCTR: 
ALT-I:	Die wichtigste Funktion berhaupt!
        Es erscheint die meine Copyrightbox.
        (Ich lese meinen Namen so furchtbar gerne in meinen Programmen!)
		(Fr GM_03R_W: CTRL-I)
       
Fr GM_SLCTR und GM_03R_W:
CTRL-Q:	Programm beenden.
        (Die unwichtigste Funktion, denn wer will das tolle Programm denn
        jemals verlassen?)
		(Bei GM_SLCTR bewirkt ALT-I oder RETURN dasselbe!)

Fr GM_SLCTR:
CTRL-I: GM-Modul initialisieren         
		(Fr GM_03R_W: ALT-I)


****************************************************************************

Kurze Beschreibung der
GM-Datei:
=========
Die Datei ist eine einfache Textdatei, die folgender-
mažen aufgebaut sein muž (die Datei enth„lt keine Kenn-
ung, die vom Programm erkannt wird, weswegen sich prin-
zipiell jede Textdatei einlesen l„žt, aber das Ergebnis
wird in den wenigsten F„llen zufriedenstellen):

 1. Zeile:	Name des Keyboards/Soundmoduls
			(max. 13 Zeichen erscheinen in der Titel-
			zeile der Box)
 2. Leerzeile
 3. Zeile:	Soundname  1	(jeweils max. 12 Zeichen)
 4. Zeile:	Soundname  2
 5. Zeile:	Soundname  3
 6. Zeile:	Soundname  4
 7. Zeile:	Soundname  5
 8. Zeile:	Soundname  6
 9. Zeile:	Soundname  7
10. Zeile:	Soundname  8
11. Leerzeile
12.	Zeile:	Soundname  9
13. Zeile:	Soundname 10
usw.

****************************************************************************

Hier noch ein Tip fr ROLAND U-220 Besitzer (und auch anderen Programmier-
freudige XYZ-User - beliebiges Ger„t selbst einsetzen):
Prinzipiell l„žt sich jedes neuere Ger„t, das "Standard"-Sounds (Samples
g„ngiger Naturinstrumente (Piano, B„sse, Gitarren, etc.) erzeugen kann
(und das sind nicht wenige) als eingeschr„nkte GM-Expander mižbrauchen.
Einfach die besten Kl„nge eines jeweiligen Ger„tes auf die entsprechenden
Pl„tze kopieren, und schon kann man, wenn man mehrere Ger„te zur Auswahl
hat alle Soundmodule mit einbeziehen, und jedes Ger„t fr die am besten
geeigneten Sachen einsetzen.
Einzig etwas Programmierarbeit ist erforderlich, erstens um an eine solche
Soundbank zu kommen (wenn sie nicht schon von eifrigen Soundanbietern l„ngst
verkauft werden - fr diejenigen, denen es lieber ist, nicht selbst zu pro-
grammieren) und zweitens um bestehende Arrangements auf die jeweiligen
Module zu verteilen.

Der Datei U_220.GM lag eine GM-kompatible Soundbank der Fa. Soundpartner 
Essen vor, die einem Songpaket beilag - ob diese Soundbank noch vertrieben
wird ist mir nicht bekannt, es waren allerdings einige Anpassungen erforder-
lich, denn z.B. die Lautst„rkenverh„ltnisse der einzelnen Sounds zueinander
stimmen nicht, einige Sounds waren ungeeignet (um nicht zu sagen unbraucbar)
- die HEAVY-Guitar eignet sich nicht gerade fr dezente Gitarrentracks.
Eine Einbeziehung der ROM-Cards ist bei manchen Kl„ngen sinnvoll z.B. 
Nylon-Gitarren der Card 14, die wesentlich besser klingen als die drahtigen
Internal-A.Guitars. Doch nun genug Werbung gemacht, ich werde schliežlich 
weder von Roland, noch von Soundpartner bezahlt - wieso eigentlich nicht???)

Im brigen habe ich z.B. inzwischen auch fr den Kawai K1 eine eingeschr„nkt
GM-kompatible Soundbank erstellt - einfach einige der besten Sounds der be-
stehenden Library gem„ž den Genfer-Konventionen (ach Quatsch, natrlich nach
den GM-Konventionen) zusammenkopieren, und schon kann man auch „ltere Ger„te
zum Abspielen von GM-Songs einsetzen (selbst wenn einen die Kl„nge z.B. vom
K1 nicht mehr umhauen, im Zusammenspiel mit anderen Klangerzeugern kann er
doch noch sinnvoll eingesetzt werden - nebenbei werden dann auch ein paar
Stimmen frei, die dann vielecht endlich die Drum-Sektion eines anderen Ge-
r„tes etwas mehr Spielraum lassen, oder andere wichtige Sounds nicht st„ndig
abgeschnitten werden -> Dynamische Stimmenverwaltung des U-220's.)

****************************************************************************

Autor dieses Programmes ist:

Peter Bogner
Humbserstr. 10
D-90763 Frth


Das Programm wurde vollst„ndig in der Programmiersprache C geschrieben -
mit Pure C (V. 1.1).
Verwendung fanden: MyDials von Olaf Meisiek, NKCC von Harald Siegmund.
Die RSC-Datei(en) wurden mit Interface 2 erstellt.
Die verwendeten Icons wurden eigenh„ndig (auch mit Interface 2) gezeichnet:
Das 03R/W-Icon wurde nach dem Vorbild des realen KORG 03R/W's entworfen
(k”nnte sch”ner und genauer gezeichnet werden, w„re aber dann zu grož ge-
worden!), das GM-Logo dem auf dem 03R/W aufgedruckten LOGO nachempfunden,
die Bilder der Soundgruppen wurden gr”žtenteils nach Vorlage der im 
"Emagic Notator Logic" Verwendung findenden Bildchen nachgezeichnet (da
ich das Programm nicht besitze waren die eigentlichen Vorlagen Bildschirm-
Hardcopies, die in der Zeitschrift 'Keyboards' abgebildet waren).

Wer Interesse an den Programmsourcen hat (die sind allerdings nicht
sehr aufregend) m”ge mir eine Diskette und einen frankierten Rckum-
schlag senden. Evtl. gibt's dann auch eine neuere Programmversion, in
der zumindest die bis dahin gefundenen Fehler behoben sein sollten.

Anregungen fr Verbesserungsm”glichkeiten, weiteren Funktionen, auf-
getretene Fehler k”nnen/sollten mir mitgeteilt werden. (Daž auch das
niemand macht ist mir natrlich bekannt!)


Geplant sind zumindest (ob dieses wirklich jemals programmiert wird?):
	- sinnvoller Einbau des Bank-Select-Befehls (fr SC-55), um auch
	  auf Klangvariationen zugreifen zu k”nnen
	- eine Multi-Set-Verwaltung	(weil der 03R/W nur eines hat und in
	  diesem nur die Effekteinstellungen speichert!?!)
	- ein einfacher GM-Editor zur leichteren Bedienung des 03R/W's
	  (vergleichbar den Mixer-Pages in Cubase)


--------------------------------------------------------------------

      \ | /     Peter Bogner, Humbserstr. 10, D-90763 Frth
      (o o)     email: prbogner@cip.informatik.uni-erlangen.de
--oOO--(_)--OOo-----------------------------------------------------

'You can't trust code that you did not totally create yourself.
(Especially code from companies that employ people like me.)'

--------------------------------------------------------------------
/// das war's, jetzt kommt nichts mehr ///
