DoAllData von vielen und Sven Dickert am 15.3.94 22:43:14 Problem: Bei der Durchsicht von PD tritt immer wieder das selbe Problem auf: Jede Serie benutzt einen eigenen Textanzeiger, eigenen Packer, eigenen Picviewer, eigenen Modplayer .... Da ein komfortables Arbeiten in vielen Fällen nur möglich ist, wenn man alle diese Programme auf einer eigenen Disk oder Platte hat, ist diese auch sehr schnell voll mit verschiedenen Programmen die im Prinzip in ihrer Sparte alle das Gleiche machen. Auch sind einige "Standartprogramme" aus älteren Serien nicht ganz konform zu Kick2.0 oder AGA unter Kick3.0 und so beginnt das gepfrimel am Default Tool im Info des jeweiligen Projekt-Icons. Auch der Aufruf mit der Shift-Taste und einem eigenen Programm beschneidet dem Komfort sehr muß man doch die jeweils noch freie Hand von irgendwelchen wichtigen Aufgaben lösen und die besagte Shi(f)t-Taste drücken. Desweiteren muß man die Anzeige-Programme dauerhaft auf die Workbench auslagern, was bei einem 640 * 200 Screen schnell zu Platzproblemen führen wird. Wer jetzt einwendet, daß das Spektrum an verschiedene Daten doch schon fast von dem Programm Multiview von Commodore abgedeckt wird, den kann ich nur daran erinnern wie langsam manche Datenformate wie GIF oder gar JPEG von Multiview gehandelt werden, ganz zu schweigen vom Fehlen eines Datatypes für die beliebten Mod-Files, welche Musikstücke enthalten. Oder haben Sie schon einmal versucht ein Archiv mit Multiview zu entpacken ? Glücklicherweise gehen aber immer mehr Anwender auch auf dem Amiga dazu über ihre Datenfiles mit sog. Suffixen (eine Art Kennung die nachgestellt wird) auszustatten. Was sich in manchen Sparten wie Packern oder den Quellcodes von Programmen schon durchgesetzt hat, gehört nun auch bei so manchen Stiefkind wie Animationen zum guten Ton. Mal ehrlich können Sie sich ein C-Source ohne > .c < am Ende vorstellen ? Oder gar ein LHA-File ohne > .lha < ? Aus diesem Sachverhalt entstand das Programm DoAllData (im folgenden DAD) welches nur ein einziges AppIcon auf der Workbench plaziert. DAD untersucht bei jedem Piktogramm, das eingeschoben wird (Drag-n-Drop), den Suffix und übergibt den Namen des Piktogrammes an ein vom Benutzer eingestelltes Programm. Suffix und zu öffnendes Programm sind frei vom Benutzer in den Tooltypes von DAD einzustellen. Es gibt die Möglichkeit für Daten-Files ohne Suffix ein sog. Default-Programm einzustellen, welches immer dann aufgerufen wird, wenn ein solches File vorliegt. Als Bonus kann DAD sogar Icons von Devices oder Unterverzeichnissen (Disketten und Schubladen) verarbeiten. Installation: Öffnen Sie einfach den Ordner > DAD/Install < und wählen Ihre bevorzugte Sprache (Deutsch) mittels Doppelklick an. Den Rest erledigt der Commodore Installer. Für Leute, die DAD wieder loswerden wollen befinden sich im Ordner DAD/Remove entsprechende Installer-Skripte um DAD wieder von der Platte zu löschen. Alle Skripte erwarten natürlich ein installiertes Installerprogramm, z.B. in c:. DAD wird so automatisch im > WBStartup < Ordner installiert und steht nach dem nächsten Reboot zur Verfügung. Falls Sie den Installer nicht mögen sollten empfehle ich die Installation von Hand: Für die Installation von Hand sollten Sie sich etwas in der Diskettenhirarchie des Amigas auskennen (oder jemanden kennen, der ... ): Kopieren Sie das Programm > DoAllData < in den WBStartup-Ordner ihrer Startdiskette/Platte. Wenn Sie Workbench 2.1/3.0 oder höher besitzen kopieren Sie noch das File > doalldata.catalog < in locale:catalogs/deutsch. Bei jedem Neustart des Amiga öffnet nun DAD sein AppIcon auf der Workbench. Wenn Sie dies nicht wollen, ziehen Sie das DoAllData-Icon einfach in die Tools-Schublade ihres Systems und starten das Programm nur bei Bedarf, was aber nicht zu empfehlen ist, da man sich sehr schnell an DAD gewöhnt und es nicht mehr missen mag. Arbeitablauf: Zur Verdeutlichung der Funktionen von DAD erläutere ich anhand von bestimmten Fragestellungen die Arbeit mit DAD. Dabei sei vorrausgesetzt, das DAD noch nicht von Ihnen gestartet worden ist, bzw schon wieder aus dem Speicher entfernt wurde: Dies geschieht einfach durch erneutes Starten des Programms oder vom Commodity > Exchange < aus. Kick 2.04 User sollten jedoch einfach das AppIcon anklicken (Doppelklick) und können über den nun erscheinenden Requester das Programm verlassen. Nun öffnen Sie einfach den Inforequester zu DAD. Kick 3.0 User brauchen DAD nicht zu verlassen, da sie den Inforequester von DAD direkt über einen Doppelklick auf das AppIcon erreichen können. Doch nun die Fragen. 1. Frage: Wie stelle ich in DAD ein Programm ein ? DAD wird über die Tooltypes (oder heutzutage wohl Merkmale) des Inforequesters der Workbench programmiert. Solche Programmzeilen sind von folgender einfacher Gestalt: Bsp: txt=sys:utilities/multiview Im Prinzip zerfällt die Zeile in zwei Teile, nämlich vor dem > = < und danach. Vor dem > = < steht der Suffix der anzusprechenden Datensparte, dahinter eine Befehlszeile wie sie aus dem CLI/Shell bekannt ist. Jetzt heißt es eigentlich nur noch diese Zeile in die Tooltypes zu schreiben und den Requester mit Speichern/Save zu verlassen. Kick 2.04 User starten danach DAD neu. Kick 3.0 User, die über den Doppelklick auf das AppIcon reingekommen sind, lehnen sich entspannt zurück und warten auf das automatische Erscheinen des AppIcons. Vorsicht: Jedes Zeichen vor dem > = < zählt als Suffix, d.h. setzen Sie keine unnötigen Punkte oder Spaces. Die Befehlszeile wiederum darf wieder alle Zeichen außer dem > ? < beinhalten, welches bei einem komplexen Aufruf als Platzhalter für den Namen des zu übergebende Daten-File steht. Wird kein > ? < gesetzt wird der Name einfach an die bestehende Befehlszeile angehängt. Bsp: Sie wollen das alle Dateien mit dem Suffix > device < bei entsprechenden Aufruf in die Ram-Disk kopiert werden sollen, dann sieht die Zeile im Tooltype so aus: device=copy ? to ram: Groß/Kleinschreibung der Suffixe wie auch der Befehlszeilen werden überlesen. 2. Frage: Mich stört die Position des AppIcons auf der Workbench. Kann man da nicht vor dem Programmstart etwas einstellen ? Besonders bei Verwendung von DAD vom WBStartup-Ordner aus, ist es anzuraten, mit den Befehlen CX_XPOS und CX_YPOS die Koordinaten des AppIcons beim Programmstart auf die eigenen Bedürfnisse einzustellen. Bsp: CX_XPOS=18 CX_YPOS=4 Diese Befehle werden wie unter 1. beschrieben in die Tooltypes eingetragen. Auch die Konventionen sind die selben. 3. Frage: Kann man die Befehlszeilen auch mal kurzzeitig, testweise ausschalten, sodaß man nicht immer die ganze Zeile neu schreiben muß, wenn man sie wieder braucht ? Ähnlich wie bei anderen Commodities sind auch bei DAD Optionen, die man eben für kurz mal nicht braucht einfach einzuklammern. Bsp: (gif=sys:utilities/fastgif) Wichtig ist nur, das die Zeile mit einer > ( < anfängt. Die Klammer am Ende kann man sich sparen, sie ist aber nicht verboten. 4. Frage: Ich habe noch viele Bilder/Mod-Files/Animationen ohne ein Anhängsel mit dem Datentyp im Namen. Muß ich dann alle Dateien umbenennen um mit DAD arbeiten zu können ? DAD erlaubt es, für Files, die keinen Suffix haben ein Programm einzustellen. Dies geschieht mit dem Befehl > CX_DEFAULT <. Bsp: CX_DEFAULT=sys:utilities/multiview Es ist zu empfehlen Multiview (sofern vorhanden) als dieses DEFAULT-Programm einzustellen, da es automatisch auf die verschieden Datentypen reagiert. 5. Frage: Was passiert, wenn ich einen Ordner oder eine Disk in das AppIcon einschiebe ? Dafür ist mit einem Befehl > CX_DEVICE < gesorgt. Mit diesem Befehl ist es möglich das Verhalten von DAD zu beeinflussen, falls keine Datei übergeben wird. Bsp: CX_DEVICE=c:list >con:10/10/620/236/DoAllData/Auto/Wait Es ist wichtig, bei CLI/Shell Befehlen die Ausgabe umzuleiten, da DAD die Standart Ein/Ausgabekanäle nicht öffnet ! 6. Frage: Wenn ich mit einem Packer wie > lha < arbeitet, wie bekomme ich dann die entpackten Files in ein bestimmtes Verzeichnis auf Disk/Platte ? Für dieses Problem gibt es einen Befehl namens > CX_DESTDIR <. Dieser Befehl legt das Verzeichnis fest von dem aus der Arbeitsvorgang gestartet wird. Bsp: CX_DESTDIR=ram: lha=c:lha x Diese Befehlsfolge sorgt dafür , das jedes Daten-File mit der Endung > lha < vom Packer lha auf ihrer Disk/Platte in die Ram-Disk entpackt wird. 7. Frage: Ich habe mich jetzt schon so an DAD gewöhnt, das ich kaum noch den Doppelklick verwende. Es ist mir sogar schon passiert, das ich ein Programm eingeworfen habe. Kann DAD das dann nicht einfach ausführen ? Ja, das geht. Man setzt einfach den Befehl > CX_EXE < entsprechend. Bsp: CX_EXE=? DAD erkennt Programme an einer sogenannten Magic-Number, das sind bei Programmen einfach die ersten 4 Bytes. 8. Frage: Wenn man mit DAD sich Bilder hintereinander anschauen will, kommt es oft vor, das man nach gewisser Zeit nicht mehr weiß, welches Bild DAD nun eigentlich anzeigt. DAD kann dazu veranlaßt werden ein Logfile mitzuführen, indem alle Aktionen gespeichert werden. Dies erreicht man über den Befehl > CX_LOGFILE <. Man kann nun dieses Logfile direkt auch auf den Bildschirm schreiben lassen. Bsp: CX_LOGFILE=CON:10/200/620/50/DoAllData Aktions/AUTO/WAIT Ganz praktisch ist dieses Logfile auch, wenn man z.B. eine Diashow oder sonst ein Skriptprogramm zusammenstellen will: Man klickt einfach der Reihenfolge nach alle Icons an und wirft das Ganze in DAD. DAD erzeugt über die Logfile Option ein Skript, das unabhängig von DAD einfach mit > execute < oder mit gesetztem > s < - Bit gestartet werden kann. Bsp: CX_LOGFILE=s:diashow Das > s < - Bit setzt man übrigens von der Shell aus mit dem Kommando > protect <. ( hier einfach > protect srwed s:diashow < ). Achja, wenn man dem Skript jetzt noch ein Icon verpasst und Standartprogramm-Feld > c:iconx < einträgt, kann das Skript natürlich auch von der Workbench gestartet werden. 9. Frage: Ich habe neben DAD auch noch andere AppIcon-Programme. Eines arbeitet wie ein Mülleimer, der einfach alles löscht was man einschiebt. Leider sind diese Programme meißt sehr umfangreich. Kann man DAD nicht einfach auch als Mülleimer-Programm misbrauchen ? Im Verzeichnis > DAD/Icon < sind verschiedene andere Icons für DAD. So z.B. auch ein Mülleimer. Man kopiert nun einfach DAD in die Ram Disk. Nun ändert man den Namen diese Files in der Ram Disk auf > DAD_Trash < und kopiert einfach > DAD/Icon/DAD_Trash.info < auf die Ram Disk. Voilà nun hat man ein DAD AppIcon welches wieder frei programmierbar ist und parallel zum eigentlichen DAD laufen kann. Dies ist auch mehrmals möglich und so hat man nach einer Zeit ein DAD als Mülleimer, ein DAD als Drucker und und und. Noch ein paar Tricks: Wenn Sie DAD im WBStartup-Ordner benutzen, denken Sie daran den Befehl > DONOTWAIT < in den Tooltypes von DAD zu verwenden. DAD arbeitet auch, wenn mehr als eine Datei übergeben wird. So läßt sich z.B. leicht eine kleine Diashow oder ein Programm an Musikstücken zusammenstellen, da DAD in der Reihenfolge abarbeitet, in der die Daten-Files nacheinander mit Shift angewählt wurden. Wird DAD im Zusammenhang mit einem oder mehreren Daten-Files gestartet öffnet es kein AppIcon, sondern arbeitet die Daten-Files der Reihe nach ab und verschwindet danach wieder aus dem Speicher. DAD startet die Programme nicht im Multitasking, d.h. DAD ist während ein Programm läuft, das mit DAD gestartet wurde nicht ansprechbar, merkt sich aber alle Dateien, inzwischen die eingeworfen wurden. Wenn DAD sofort nach Programmstart wieder ansprechbar sein soll, fügen Sie einfach ein > run < vor die jeweilige Befehlssequenz ( also nach dem > = < ) wie Sie es aus dem CLI/Shell gewohnt sind. Dann sind aber solche Spielereien wie eine Diashow nicht mehr möglich. DAD läßt sich in Zusammenarbeit mit dem Toolmanager verwenden: Dazu eröffnet man als erstes ein Exec-Object und stellt bei Exec-Type die Workbench ein. Nun kann man in einem Menü oder Dock das Exec-Object einbinden. Lesen Sie dazu bitte in der Dokumentation des Toolmanagers nach. Technische Daten: Entwicklungssystem SASC6.5 entwickelt mit/unter A1200 / Kick 3.0 getestet auf A1200 / Kick 3.0 A500 / Kick 2.05 WB 2.04 Features eigener Startup, Locale, Tooltypes, AppIcon, Commodity, WBInfo, EasyRequest Brauchbare Einstellungen: Suffix Aufgerufenes Programm c c:ed h c:ed guide sys:utilities/multiview readme sys:utilities/multiview doc sys:utilities/multiview iff sys:utilities/multiview zusätzlich sind zu empfehlen falls entsprechende Programme oder DataTypes vorhanden sind: pcx sys:utilities/multiview jpeg sys:utilities/multiview gif sys:utilities/multiview oder besser sys:utilities/fastgif lha c:lha x lzh c:lha x zoo c:zoo x arj c:unarj x pp c:decrunch ? ram: mod sys:utilities/champlay Über den Autor Sven Dickert studiert zur Zeit in Karlsruhe an der Universität die hohe Kunst der Informatik. Er ist über einen VC-20, C128 zum Amiga 1000 gekommen, für den er damals noch ganze 2200 DM abdrückte ( ... ). Nach einer kurzen Liaison mit einem A500 kam er schließlich zum A1200 in dem er den einzig würdigen Nachfolger des A1000 sieht. Der Autor ist auch nicht ohne Fehler. Deshalb für Fragen, Vorschläge, Liebeserklärungen, und, und, und: (Internet) = S_DICKERT@ira.uka.de (Post) = Sven Dickert Lindenstr. 31 74928 Hüffenhardt-Kä Über von vielen: Diese Programm ist mit Hilfe vieler Personen entstanden, so das es fast verwerflich ist von mir als alleinigem Programmautor zu reden. Dank geht an: Meine Mutter die mich trotz schwerer Zeiten studieren läßt, Commodore für den Amiga, und für sonst gar nichts ! (c) 1994 von Sven Dickert. Alle Rechte vorbehalten. Der Autor haftet nicht für Schäden, die aus der Benutzung der Software entstanden sind, entstehen, oder entstehen werden. Die erwähnten Programm- und Datenfiles sind jeweils durch das Urheberrecht der entsprechenden Autoren geschützt.