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:
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