VOICE Homepage: http://de.os2voice.org | September 2001 [Inhaltsverzeichnis] [Vorherige Seite] [Nächste Seite] [Artikelverzeichnis] editor@os2voice.org

## Umgang mit Klangschemata unter MultiDesk V0.2.0

Von Peter Brown © September 2001, Übersetzung: Philhard Ackermann

#### STOPPT DIE DRUCKERPRESSE!!! - Haltet die Titelseite zurück!

(oder wie auch immer das bei Online-Magazinen heißt)

#### Ein Nachtrag zum Artikel über MultiDesk V0.2.0

Was Multidesk nicht bietet, ist die Möglichkeit, für jeden Benutzer ein separates Klangschema festzulegen. Ich bin mir nicht sicher, ob der Autor das übersehen hat oder es vielleicht bei seiner ursprünglichen Zielsetzung nicht für erforderlich hielt. Nachdem ich beim Verfassen des og. Artikels auf dieses 'Einplatz'-Klangproblem gestoßen war, hatte ich mich entschlossen, dieses eingehender zu untersuchen - na gut, ich gebe es zu: ich war nicht begeistert, dasselbe Klangschema wie die Dame des Hauses benutzen zu müssen :-)

Das Klangschema steckt in einer eigenen INI-Datei namens MMPM.INI, welche man üblicherweise unter `\MMOS2\MMPM.INI` auf dem Bootlaufwerk findet, in meinem Fall Laufwerk K:.

Nach ein wenig "Experimentiererei" entdeckte ich, daß es möglich ist (jedenfalls auf meinen beiden PCs), die `MMPM.INI` zum Zeitpunkt des Systemstarts (bevor die WPS geladen wird) auszutauschen.

Wenn Sie den folgenden recht einfachen Anweisungen folgen, dann werden Ihre Benutzer in die Lage versetzt, jeweils eigene Klänge verwenden zu können, anstatt sich ein gemeinsames Klangschema teilen (oder darüber diskutieren) zu müssen.

Hinweis: Die folgende Beschreibung gilt für WARP 4-Anwender, die bei der Installation von OS/2, MMOS/2 und Multidesk die jeweiligen Standardpfade verwendet haben, also passen Sie die angegebenen Pfade an die Erfordernisse Ihres Systems an.

Nachdem Sie MultiDesk erfolgreich installiert und die anfangs benötigten Benutzer angelegt haben:

1. Öffnen Sie die Einstellungen der Datei `\MMOS2\MMPM.INI`.
2. Klicken Sie auf den Reiter Datei, dann auf Seite 2, und deselektieren Sie Nur Lesen und System - nun sollte nur noch Archiv selektiert sein.
3. Kopieren Sie `\MMOS2\MMPM.INI` in das Heimatverzeichnis eines jeden Benutzers; wie zuvor am Beispiel des Benutzers matty:
4. Öffen Sie `K:\MMOS2` (Symbolanzeige)
5. Öffnen Sie `K:\Users\matty` (Symbolanzeige)
6. Im Fenster `K:\MMOS2` selektieren Sie `MMPM.INI` und betätigen Sie die rechte Maustaste, um das Kontextmenü erscheinen zu lassen, danach klicken Sie auf Kopieren, und im Kopieren-Dialog geben Sie `K:\Users\matty` als das Kopierziel an, lassen den Dateinamen unverändert und klicken auf Kopieren.
7. Natürlich müssen Sie diese Kopieroperation für jeden Benutzer, den Sie angelegt haben, wiederholen.

Hier ein Screenshot einiger vorausgegangener Kopien:

Nun hat also jeder Benutzer eine Kopie der `MMPM.INI`, um diese nach Herzenslust anpassen zu können - vorausgesetzt, wir bekommen das System dazu, für jeden Benutzer die richtige `MMPM.INI` zu laden.

Erreicht habe ich letzteres durch eine Anpassung der Pre-Login- und Post-Login-Prozeduren. Ja, ich weiß, daß ich gesagt habe, daß man dies lieber einem kompetenteren Zeitgenossen überlassen sollte, aber die Gattin (gesegnet seien ihre verknitterten Socken :-) besteht ansonsten darauf, daß IHR Klangschema die ganze Zeit aktiv sein muß!

Die vorgenommen Anpassungen sind sehr einfach - ich folgte dem in den vorgegebenen Pre and Post Login-Produren vorhandenen Beispiel, wobei ich die Routine zum Austausch der Dateien für das WarpCenter übernahm.

Ich habe der Pre-Login-Produr zwei Zeilen hinzugefügt; diese kopieren die `MMPM.INI` von `\MMOS2` nach `\Users\NachName` - wobei NachName der in der `\MuDesk\Last`-Datei enthaltene Benutzer ist. Dadurch werden alle Klangschemaanpassungen, die der zuletzt angemeldete Benutzer vorgenommen hat, gesichert.

Ich habe der Post-Login-Prozedur mehrere Zeilen hinzugefügt; diese löschen die vorhandene `\MMOS2\MMPM.INI` und kopieren die `MMPM.INI` aus dem Benutzerverzeichnis des momentan angemeldeten Benutzers in das Verzeichnis `\MMOS2`.

Sowohl die Pre-Login als auch Post-Login-Rexxprozedur heißen `mdstart.cmd`. Die Pre-Login-Prozedur sollte sich im MultiDesk-Verzeichnis befinden.

Jeder Benutzer hat eine identische Post-Login-Prozedur in seinem Heimatverzeichnis; die Vorlage für die Benutzerversion von `mdstart.cmd` heißt `mdstart.usr` und sollte sich im MultiDesk-Verzeichnis befinden. Während diese Prozeduren zwar denselben Namen tragen, sind Sie jedoch im Systemeditor leicht zu unterscheiden - beide haben einen Kommentar am Beginn der Prozedur, in welchem Sie entweder als Pre- oder als Post-Login-Prozedur gekennzeichnet sind.

Zur Anpassung dieser Prozeduren verwende ich die im MultiDesk-Verzeichnis (in meinem Fall `K:\MuDesk`) befindlichen `mdstart.*`-Dateien.

Zunächst kopieren Sie `mdstart.cmd` nach `mdstart.cmd.org` und `mdstart.usr` nach `mdstart.usr.org`, damit die Originale erhalten bleiben - für alle Fälle!

Als nächstes starten Sie den Systemeditor mit einem leeren Arbeitsbereich. Kopieren Sie die folgende angepaßte Pre-Login-Prozedur - beginnend mit der Zeile `/* Pre-Login Rexx script file for MultiDesk */` und endend mit der `exit`-Zeile - in die Zwischenablage und fügen Sie dies in den leeren Arbeitsbereich des Systemeditors ein. Nun sichern Sie dies unter Verwendung von Datei -> Sichern als... als `mdstart.cmd` im MultiDesk-Verzeichnis (bei mir `K:\MuDesk`) mit dem Dateityp OS/2 Command File und geben Sie dabei an, daß die existierende Kopie überschrieben werden soll.

> `/* Pre-Login Rexx script file for MultiDesk */`

> `BootDrive = arg(1)`
> `LastUser = arg(2)`

> `/* --- !! This part is for the multi-user management of WarpCenter !! --- */`
> `/* --- !! Do not delete it if you're interested in having multiple !! --- */`
> `/* --- !! WarpCenter configurations. !! --- */`

> `if LastUser = '' then exit`

> `/* Read in all CFG file lines, to find users_tree option */`
> `linein('.\mudesk.cfg', 1, 0)`
> `do i=1 by 1 until Lines('.\mudesk.cfg') = 0`
> `ThisLine = linein('.\mudesk.cfg')`
> `if Abbrev(ThisLine, 'users_tree=') = 1 then leave`
> `end`

> `if Abbrev(ThisLine, 'users_tree=') = 1 then`
> `parse value ThisLine with . '=' UTreePath`
> `else`
> `UTreePath = BootDrive || ':\Users'`

> `if Right(UTreePath, 1) \= '\' then`
> `UTreePath = UTreePath||'\'`

> `/* Save previous User MMPM.INI file to previous User directory */`
> `/* Modified 29/07/2001 by Pete Brown */`
> `MMINIPath = UTreePath || LastUser`
> `'@copy ' || BootDrive || ':\mmos2\mmpm.ini ' || MMINIPath || ' 1> nul 2> nul'`
> `/* End Pete Brown modification */`

> `DestPath = UTreePath || LastUser || '\WC'`
> `'@copy ' || BootDrive || ':\OS2\DLL\dock*.cfg ' || DestPath || ' 1> nul 2> nul'`
> `'@copy ' || BootDrive || ':\OS2\DLL\SCENTER.CFG ' || DestPath || ' 1> nul 2> nul'`

> `/* --- !! End of the multi-user WarpCenter management part !! --- */`

> `exit`

Nun wählen Sie Datei -> Neu im Systemeditor, um eine leere Datei anzulegen. Kopieren Sie die folgende angepaßte Post-Login-Prozedur in die Zwischenablage und fügen Sie sie in den leeren Arbeitsbereich des Systemeditors ein. Dann sichern sie dies als `mdstart.usr` im MultiDesk-Verzeichnis mit dem Dateityp OS/2 Command File und geben Sie dabei an, daß die existierende Kopie überschrieben werden soll.

> `/* Post-Login Rexx script file for MultiDesk */`

> `BootDrive = arg(1)`
> `User = arg(2)`
> `UserIni = arg(3)`
> `SystemIni = arg(4)`
> `UTreePath = arg(5)`

> `/* --- !! This part is for the multi-user management of WarpCenter !! --- */`
> `/* --- !! Do not delete it if you're interested in having multiple !! --- */`
> `/* --- !! WarpCenter configurations. !! --- */`

> `if Right(UTreePath, 1) \= '\' then`
> `UTreePath = UTreePath||'\'`

> `/* Copy current User MMPM.INI file to MMOS2 directory */`
> `/* Modified 29/07/2001 by Pete Brown */`
> `MMINIPath = UTreePath || User`
> `'@del ' || BootDrive || ':\MMOS2\mmpm.ini 1> nul 2> nul'`
> `'@copy ' || MMINIPath || '\mmpm.ini ' || BootDrive || ':\MMOS2 1> nul 2> nul'`
> `/* End Pete Brown modification */`

> `OrgPath = UTreePath || User || '\WC'`
> `'@del ' || BootDrive || ':\OS2\DLL\dock*.cfg 1> nul 2> nul'`
> `'@del ' || BootDrive || ':\OS2\DLL\SCENTER.CFG 1> nul 2> nul'`
> `'@copy ' || OrgPath || '\dock*.cfg ' || BootDrive || ':\OS2\DLL 1> nul 2> nul'`
> `'@copy ' || OrgPath || '\SCENTER.CFG ' || BootDrive || ':\OS2\DLL 1> nul 2> nul'`

> `/* --- !! End of the multi-user WarpCenter management part !! --- */`

> `exit`

Nun müssen Sie `mdstart.usr` unter dem Namen `mdstart.cmd` in jedes Benutzerverzeichnis kopieren (wobei auch hier eine vorhandenen Datei gleichen Namens überschrieben werden muß).

Ich habe die o.g. Prozeduranpassungen an den Autor von MultiDesk, Cristiano Guadagnino, gemailt, damit er sie prüfen und, falls er es wünscht, als neue Standardprozeduren in MultiDesk aufnehmen kann. Hier seine Antwort:

> Das Problem mit den Klangschemata ist definitiv ein Bug... oder vielmehr habe ich das Problem völlig übersehen. Da meine Frau keine computergenerierten Klänge mag, läßt Sie die Lautsprecher immer ausgeschaltet und würde auch niemals an den Klangschemata herumspielen :-)

> Ein GROSSES Dankeschön dafür, daß Sie das erkannt haben und mir auch noch die Lösung zur Verfügung stellen!

Ich persönlich bin zufrieden, daß ich etwas beitragen konnte - nun muß ich nicht dasselbe Klangschema wie die Dame des Hauses verwenden :-)

Bei jedem Anlegen eines neuen Benutzers sollten Sie die `MMPM.INI` eines beliebigen anderen Benutzers in das Verzeichnis des neuen Benutzers kopieren bzw., wie ich bei meinen "Experimentierereien" per Zufall herausgefunden habe, wird OS/2 durch die Post-Login-Prozedur dazu veranlaßt, eine leere MMPM.INI anzulegen, die sich der neue Benutzer dann anpassen kann. Natürlich müßten Sie in diesem Fall alle benötigten Schlüssel aus einer anderen MMPM.INI importieren, weshalb ich eine direkte Kopie einer MMPM.INI vorziehe, in welcher der neue Benutzer die erforderlichen Anpassungen vornehmen kann.

Um noch ein paar Screenshots loszuwerden: Hier sind die MMPM.INI-Dateien der Benutzer losepete und matty, geöffnet mit dem INI-Editor, einem Bestandtail des INI Tools V1.10-Pakets von Goran Ivankovic.

All dies zeigt, daß hier zwei unterschiedliche `MMPM.INI`-Dateien an verschiedenen Orten und mit, bezogen auf die benutzten Klangschemata, unterschiedlichen Inhalten vorliegen.

Der Benutzer losepete verwendet ein Klangschema, welches auf dem Arbeitsoberfläche-Klangschema basiert.

Der Benutzer matty verwendet ein Klangschema basierend auf dem Weltraum-Klangschema.

Wenn sie die obigen Anweisungen korrekt befolgen, dann werden Sie feststellen, daß dieser Austausch der `MMPM.INI` funktioniert.

Ich schätze, daß ich dies von meiner zuvor dargelegten "Wunschliste" streichen kann.

Viel Spaß!

Peter Brown ist OS/2-Anwender, seit Warp3 in England aufschlug, und Autor von Fesane - einem einfachen Frontend für die OS/2-Portierung von SANE (Scanner Access Now Easy) ( http://hobbes.nmsu.edu/pub/os2/apps/graphics/scan/FEsane02.zip)

[Artikelverzeichnis]
editor@os2voice.org
[Vorherige Seite] [Inhaltsverzeichnis] [Nächste Seite]
VOICE Homepage: http://de.os2voice.org