Weird-Mac V0.64
===============

Crazy-Sounds kompatibler Sampleabspieler
----------------------------------------

Autor: Thorsten Pohlmann @WI2 (Mausnet)
       thorsten.pohlmann@wiesbaden.netsurf.de

       Frauensteinerstr. 15
       65199 Wiesbaden

Status: FAIRWARE  20.-

Nassauische Sparkasse
BLZ: 510 500 15
Kto.: 121 044 951


Fairware bedeutet, da das Programm prinzipiell den selben Status wie 
Public Domain hat, der Autor aber eine kleine Spende als 
Aufwandsentschdigung und Ansporn erwartet. Dieses Programm darf zusammen 
mit dieser Beschreibung beliebig verbreitet werden, solange es auf 
kostenlose Art und Weise geschieht. Der Vertrieb in PD-Serien oder CDs 
bedarf meiner Zustimmung.

Die aktuellste Version kann in der Maus WI2 (0611/9419126 V34,Zyx,ISDN) 
downgeloadet werden.


-neues seit 0.41:   -Lautstrkeregelung per CPX
                    -Eigene Falcon komp. XBIOS-Funktionen, deshalb 
                     kein MSND.PRG mehr erforderlich
                    -Mehrere Sounds gleichzeitig (System, Alert, 
                     XBIOS)

Bugs/Einschrnkungen:
						  Kein Tastaturklick, 16-Bit, Sound-Aufnahme




Fr die Eiligen:
================

1. neues XCMD in den XCMD-Ordner auf der MAC-Seite
2. neues Weirdmac.Prg in den APPS-Ornder
3. Weirdmac-CPX in den CPX-Ordner
3. bei neuinstallation das CFG-File im APPS-Ordner anpassen.


Beschreibung:
*************

1.
  Dieses Programm legt einen Cookie 'HSnd' an, ber den diverse Programme, 
  z.B. Connect, HSN-Samples (Crazy Sounds) abspielen knnen. Dies ist 
  nur fr MagicMac-Benutzer interessant, da die die Ausgabe ber ein 
  XCMD-Modul passiert, welches die Soundroutinen des Mac benutzt.

1.1.
  Falcon-XBIOS-Soundroutinen teilweise implementiert (STE-kompatibler 
  Teil)

2.
  Man kann fr Alertboxen unterschiedliche Samples anmelden, die dann 
  abgespielt werden.

3.
  Fr Programme, die Sounds per Xbios-Dosound() ausgeben (Piep, Hup, 
  Bimmel etc.), sind nun auch Samples vorhanden. Die Parameter werden in 
  eine kleine Datenbank gespeichert. Das bedeutet, man kann einem Klang 
  (den man auf dem Mac normalerweise garnicht hren kann, wohl aber auf 
  einem ST/TT) ein beliebiges Sample zuweisen, welches dann gespielt wird. 
  Dies ist insbesondere fr Benutzer des Paket-Radio Programms 'DigiPoint' 
  interessant, da dieses Programm nur Dosound()-Aufrufe (z.B. 
  Connect-Bell, //RI-Klingel) macht.
  
4.
  Die Systemglocke (der Ping, wenn man z.B. neben eine Alertbox klickt) 
  kann durch ein Sample ersetzt werden.

5.
  Mit Weirdmac.cpx kann man die Lautstrke, die Balance, Mono und 
  Interpolation eingestellt werden.

6.
  Fr Crazy-Sounds, XBios und Sytemklnge werden getrennte 
  Soundkanle angelegt, d.h. alle Sounds knnen _gleichzeitig_ 
  erklingen.

Installation:
*************

Bentigte Soft/Hardware: Macintosh + MagicMac >1.2.2 (mit XCMD-
                         Mglichkeit)

Das "WeirdXCMD.bin" muss auf Mac-Seite auf das Prog. "Mac-Binary" 
geschoben werden. Das daraus entstehende "Weirdmac XCMD" muss im 
MagicMac-Ordner in "MagicMac XCMDs" gelegt werden.

Weird-Mac wird samt CFG in den _APPS_-Ordner (nicht Auto!) gelegt. Es kann 
auch jederzeit nachgestartet werden, solange im aktuellen Pfad auch eine 
CFG-Datei liegt. Beim Updaten kann das alte CFG bernommen werden.
Von einem mehrmaligen Start sollte abgesehen werden, das klingt 
seltsam :-)

Das CPX muss in den im Kontrollfeld angegebenen Ordner, oder es kann 
mittels zControl (Autor Ralf Zimmermann@OF2) nachgestartet werden.

Konfiguration:
**************

Die CFG-Datei muss fr die jeweilige Konfiguration angepasst werden:

--------------------------------------------------------------------------
maxsamplelen 50000       ;  maximale Lnge (z.B. 50000 Bytes) eines zu
                         ;  ladenden Samples. Lngere werden abgeschnitten.

samplepath "C:\samples\"  ; Pfad zum Sampleordner. Alle abzuspielenden  
                          ; Samples mssen in bzw. unter diesem Ordner 
                          ; liegen, weil der Schnittstelle nur relative  
                          ; Pfade bergeben werden. Dem Original darf 
                          ; anscheinend nur ein Dateinamen (8 Buchstaben) 
                          ; bergeben werden, WeirdMac knnen auch  
                          ; komplette releative Pfade bergeben werden.

staticram             ; Ist diese Variable vorhanden, wird der unter
                      ; 'maxsamplelen' festgelegte Speicher einmal beim   
                      ; Start allociert und nicht mehr freigegeben.

level 128             ; Lautstrke der abgespielten Samples (0...255)
                      ; 255 ist die Augenblicklich im Mac-Kontrollfeld
                      ; "Ton" ("Sound") eingestellte Lautstrke.

xbioslevel 128        ; Lautstrke fr die XBIOS-Routinen

parameter 0x2345      ; Nicht verndern, es sind die Einstellungen 
                      ; des CPX-Moduls.

startsample "bla.hsn"   ; Spielt beim Start das Sample 'bla' aus dem bei 
                        ; 'samplepath' beschriebenen Ordner ab.

alert_wait "blubb.hsn"  ; Spielt beim erscheinen einer Wait-Alertbox 
                        ; (Fragezeichen) das Sample ab.

alert_stop "glorz.hsn"      ; fr Alertbox mit Stop-Icon
alert_note "hup.hsn"        ; fr Alertbox mit Ausrufezeichen-Icon
alert_no "alert\bumm.hsn"   ; fr Alertbox ohne Icon

sysbell "glas.hsn"          ; Sample fr die Systebglocke. Das Sample 
                            ; verbleibt permanent im Speicher, also die Gre
                            ; beachten! Ist diese Zeile nicht vorhanden,
                            ; wird die 'normale' Klingel eingesetzt..

dosound "lustig.hsn"        ; Defaultsample fr Xbios-Dosound() (im Fehlerfall)

DSN1 "frog.hsn"             ; Samplezuweisung fr Dosounddatenbank Nr.1 
                            ; (Beschreibung siehe weiter unten)

DSN2 "hurga.hsn"            ; Samplezuweisung fr Datenbank Nr2

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

Erzeugen der Dosound()-Datenbank.
*********************************

Eine komplette Simulation des ST-Soundchips ist mir viel zu kompliziert, 
deshalb habe ich mir eine andere Methode ausgedacht: Die Parameter eines 
Dosound-Aufrufs (die die Art des Klangs bestimmen) werden gespeichert und 
einem Sample zugewiesen. Weird-Mac legt zu diesem Zweck im Startpfad eine 
Datenbankdatei "WEIRD_DO.DSN" an, in der die Parameter gespeichert werden.
Es sind im Augenblick 10 versch. Sounds mglich (kann auf Wunsch erweitert 
werden; es war bisher aber noch nicht ntig).
Soll ein Sound gespielt werden, aber im CFG ist noch kein Sounds 
definiert, werden Bildschirmausgaben mit einem Hinweistext gemacht.

Bildschirmausgaben in diesem Zusammenhang:
------------------------------------------

"Weird-Mac: DSNxx recognized'    Es wurde ein neuer Sound abgespielt, der
                                 noch nicht in der Datenbank (max. 10 
                                 Eintrge) steht. Jetzt sollte man im 
                                 CFG-File diesem Sound ein Sample zuweisen.
                                 (Siehe Beschreibung-CFG

"WeirdMac: DSNxx not specified'  Der Sound ist zwar in der Datenbank, aber 
                                 ihm wurde noch kein Sample zugewiesen. Es 
                                 wird das Default-Sample 'DOSOUND' 
                                 gespielt.


Vorgeschlagene Vorgehensweise zum Erstellen der Datenbank:
**********************************************************

Man entfernt evtl. DSNxx-Zeilen aus dem CFG (und bootet neu wenn Weirdmac 
schon gestartet ist). Dann ruft man die Programme auf, deren 
Dosoundausgaben man abfangen will und lsst sie Krach machen. Man merkt 
sich die Bildschirmausgaben bzw. editiert sie direkt in's CFG (wofr 
gibt's schliesslich Multitasking :-).




CPX
***********************************************************

Balance-Regler: Regelt die Balance, naja, schaltet eher zwischen 
                Links/Rechts und Mitte um :-) Kann der Rechner 
                nicht Stereo ausgeben, ist der Slider disabled (grau)

Volume:         0...255. 255 ist die maximale Lautstrke, wie sie im 
                Mac-Kontrollfeld eingestellt ist.

                System: Regelt Lautstrke der Systemglocke sowie
                        der Alertboxen.

                XBIOS : Lautstrke fr die Falcon-kompatiblen Sounds

Interpolate:    Bei Interpolation werden Samples mit kleiner 
                Samplerate auf hhere Wiedergabefrequenz 
                aufinterpoliert, wodurch dann nicht mehr so stark 
                schrabbelt.

No Drop:        Was die "No Drop" Reduktion ist konnte mir noch 
                keiner sagen, man hrt auch nichts, ich hab's 
                trotzdem mal eingebaut :-)

Stereo:         Scheint ein Flag zu sein, mit dem man bei manchen 
                Rechnern beide Stereokanle auf einen zusammenmischen 
                kann (geht nicht bei meinem Performa 475). Ist bei 
                nichtvorhandensein disabled (grau).

Unlock:         Wenn dieser Button nicht disabled (grau) ist, wurde 
                das XBIOS-Soundsystem nicht freigegeben. Entweder 
                luft gerade ein Sound, oder aber das Programm hat 
                ihn nicht richtig freigegeben.Durch drcken dieses 
                Knopfes wird das Soundsystem wieder freigegeben.

Sichern:        sichert die gemachten Einstellungen in Klartext in 
                das aktuelle Weirdmac.cfg


Samples!?
*********

Samples findet man nun wirklich berall (mit einem Mac kann man sie sich 
sogar ganz einfach selbst samplen), aber wie bekommt man sie in's 
HSN-Format?? Es gibt viele Konvertierprogramme, die so etwas knnen, z.B. 
das Sharewareprg 'Zeig's mir', welches in jeder besseren Atari-Mailbox zu 
finden sein sollte (Auf jeden Fall in der WI2, dort 'wohnt' nmlich auch 
der Autor).


Disclaimer:
***********

Es funktioniert bei mir, das muss allerdings nicht viel bedeuten...
Jeder Fehler oder Zerstrungen gehen auf eigene Kappe.


Probleme:
---------
Der fr das Sample gemallocte Speicher bleibt bis zum nchsten 
Sampleaufruf gemalloct. Dadurch kann es zu Speicherfragmentierung kommen. 
(ohne 'staticram')


Fixes, News:
************

neues in v 0.64  -Kein Mll, wenn Sound nicht gefunden wurde
                 -ffentliche Version

         v 0.63  -Sounddaten werden nun nicht mehr verndert
         v 0.622 -Kleiner Bug im Cookie behoben
                 -gurk.mdl: Gepatchtes Soundausgabemodul fr Zeigsmir
                            (Samples mssen nicht mehr umgerechnet 
                            werden)

         v 0.621 -Strzt jetzt wirklich nicht mehr ab, durch eigenen 
                  Supervisorstack
                 -Gestaltabfrage (CPX): Stereofhig, Stereomixing

                 -neue Xbios-Funktion: Soundcmd(7,int freq)
                                       freq ist die 'echte' Frequenz 
                                       des Samples (1000...64000)


         v 0.62  -McSn-Cookie
                 -Stereo-Samples gehen jetzt
                 -kein Absturz bei umschalten auf Mac whrend Sample 
                  luft

         v 0.6   -unbedingt XCMD auswechseln!
                 -viele, viele Bugfixes
                 -CPX kann man sich nun auch in Monochrome ansehen
                 -Unlock-Button geht jetzt
                 -Die XBIOS-Funktionen sollten nun ausreichend 
                  funktionieren

                 -Prfsumme ber das Sample
                 -Callback aus dem Mac-Kontext (setinterrupt() kommt 
                  noch)


         v 0.54: -XBIOS-Routinen. MSND.PRG ist jetzt vllig 
                  berflssig.
                 -CPX mit Lautstrkeregelung fr XBIOS und 
                  Sysbell/Alertboxen getrennt.
                 -Getrennte Kanle fr Sysbell, Alertboxen und XBIOS.
                  D.H. alle knnen prinzipiell gleichzeitig plrren.

                --Known Bugs: XBIOS nicht vollstndig implementiert 
                  (wie bekommt man raus, ob ein Sound noch spielt?)
                  Setinterrupt() geht noch nicht.
                 -CPX-Darstellung in Monochrome kotzt.

         v 0.521:-Kapitel "Beschreibung 5." beachten!
						CPX kann jetzt speichern, ebenso funktionieren alle
                  Parameter. Die Werte werden in Klartext im 
                  Weirdmac.cfg gespeichert.

         v 0.52  -Bei einer Mutantenklingelauslsung (z.B. wenn man 
                  neben einen nicht flugfhigen Dialog klickt und 
                  festhlt) bimmelt es nicht noch 5min lang hinterher.
                 -'Original' Bimmel eingebaut (wenn kein Sample 
                   angegeben wird)
                 -Kosmetik am CPX (speichern kann's immer noch nicht)
                 -'Interpolieren' im CPX geht jetzt. Bringen tut's 
                   meiner Meinung nach aber nix...
         v 0.51: CPX fr die Lautstrke, Stereo, usw.
			v  0.5: Eigene Routinen fr's Mac-OS (MSND.PRG ist jetzt 
                 berflssig), Lautstrkeregelung
    ->0.5   -Eigene Soundroutinen fr's  Mac-OS, Lautstrkeregelung
    ->0.41   Sysbell ging nicht richtig.
    ->0.4   -Systemglocke eingebaut, "File not found" bei nicht gesetzten
             Alertboxensamples entfernt.

0.38->0.381 -Bugfix beim Dosoundparametr parsen (Datenbank 
             unbed. erneuern!)
0.27->0.38  -Dosounddatenbank
0.33->0.37  -Dosound() eingebaut
0.31->0.33  -Fix bei Samplezuordnung
0.22->0.31: -Unterschiedliche Samples fr unterschiedliche 
             Alertboxenoicons.
0.2->0.22:  -Wird ein Sample abgespielt, whrend ein anderes noch 
             luft, wird vorher das erste abgeschaltet. Ich weis 
             nicht, ob das sein muss, aber so ist's gesnder.
            -Startsample eingefhrt.


