document JPC.doc "JPC_kat" Version 1.5 Recherche-Programm zum JPC Musik-/Video-Katalog auf CD-ROM Stand: 15.03.96 1. Voraussetzungen ================== Zunächst einmal brauchen Sie natürlich ein CD-ROM Laufwerk, außerdem ein High-Sierra-taugliches CD-Filesystem. Letzteres ist leider eine ziemlich ernste Einschränkung, die meines Wissens nur CDx und AsimCDFS übrig läßt. AmiCDROM, CacheCDFS und das Commodore-Filesystem in OS 3.1 und im A570 tun es alle nicht, da sie "nur" ISO 9660-CDs unterstützen. Die Katalog-CD selbst kostet DM 39,95. Sie können sie entweder in einer der JPC-Filialen käuflich erwerben: Bielefeld: Forum Jahnplatz Bremen: Papenstr. 2 - 4 Göttingen: Barfüßerstr. 1 Hamburg: Spitaler Str. 22 (Schallplatte am Mönckebergbrunnen) Gerhard-Hauptmann-Platz 52 (Classic-Pavillon) Minden: Markt 7 Münster: Alter Fischmarkt 2 Oldenburg: Kurwickstr. 1 Osnabrück: Hakenstr. 20 Neumarkt-Passage oder im Versand bestellen bei: JPC, Lübecker Str. 9 Tel.: 0180/525 17 17 49124 Georgsmarienhütte Fax: 05401/851 233 http://www.jpc.de Btx: *JPC# / *69432# Die Lieferung erfolgt gegen Rechnung, zzgl. Versandkosten von DM 5,90. Achten Sie aber bitte darauf, daß Sie wirklich das CD-ROM bestellen, den Katalog gibt es nämlich auch in gedruckter Form. 2. Installation =============== Kopieren Sie das Programm "JPC" einfach dahin, wo Sie es haben wollen, vielleicht nach "C:", weil es ja ein reines DOS-Programm ist. Wenn Sie andere als die voreingestellten Fenstergrößen und Ausgabedateien möchten, brauchen Sie außerdem die Datei "JPC.cfg" in "S:". Mit dem Befehl jpc -c >s:JPC.cfg wird diese Datei mit voreingestellten Werten erzeugt, und sieht dann zunächst wie folgt aus: ---8<-----------------------------Dateianfang RAM:JPC-Kurzinfo RAM:JPC-Volltext CON:200/20/440/70/JPC-Debug-Info/INACTIVE RAW:0/11/580/245/aktuelle Auswahl RAW:200/0/430/256/Volltext RAW:50/100/540/80/JPC-Statusmeldung --->8-------------------------------Dateiende Der Inhalt sind also zwei Ausgabedateien zum Speichern von Datensätzen, dann eine Datei für Debug-Ausgaben (wird nur bei Programmstart mit -d auch wirklich geöffnet) und zuletzt drei RAW:-Fenster für die "Benutzeroberfläche". Die x/y/b/h Fenstergrößen sind für meine 640×256 Workbench mit Topaz 8 optimiert, also vermutlich nicht jedermanns Sache. Puristen, die finden, daß S: wirklich nur Skripts enthalten sollte, werden sich übrigens freuen, daß das Programm seine Konfig-Datei auch unter dem Namen "ENV:JPC.cfg" finden kann. Was ich allerdings für nicht so praktisch halte, da man permanente Änderungen dann jeweils explizit mit Copy ENV:JPC.cfg ENVARC: sicherstellen muß. 3. Bedienung ============ Geben Sie nach Programmstart die Nummer des Katalogs ein, den Sie benutzen wollen (0: Pop/Jazz, 1: Klassik, 2: Video). Sie bekommen jetzt eine kurze Zusammenfassung der Kommandos und eine Beispieleingabe. Angenommen, Sie hätten Katalog 0 gewählt, sähe das so aus: Datenbank: JPCPOP (79025 Datensätze). Indexnamen: K=Interpret W=Titel T=Tracks B=Bestell-Nr. L=Label P=Preis M=Trägermedium A=Musik-Art V=Volltext U=Neuheit Kommandos: Zeigen, s/Speichern, Quit, Neustart, oder Suchanfrage, z. B.: t=berg?aga* |t=schneewa* &~v=heino &p<20 &l=88-99 weitere Einschränkung möglich durch: f/Finde 0.Kommando: _ Vor der Eingabeaufforderung steht die Anzahl ausgewählter Datensätze, zu Anfang sind das natürlich Null. 3.1. Einfache Befehle --------------------- z: Die ausgewählten Datensätze anzeigen und durchblättern lassen. Wenn keine ausgewählt sind, passiert nichts. s: Speichert die Kurzinformationen der ausgewählten Datensätze in die dafür festgelegte Ausgabedatei, eine Zeile pro Datensatz. Ganz nett, wenn Sie wirklich einmal eine Bestellung aufgeben wollen. Kann im Notfall mit Ctrl-C abgebrochen werden. S: Speichert die volle Produktbeschreibung zu allen ausgewählten Datensätzen, diesmal in die andere Ausgabedatei, und Sie müssen mit ca. 0.5 KByte pro Datensatz rechnen. Das kann bei vielen Datensätzen eine ziemlich riesige Datei werden, dauert dann aber auch so lange, daß Sie wahrscheinlich vorher Ctrl-C drücken. q: Beendet das Programm, x tut dasselbe. n: Neustart, nochmals auswählen, in welchem der drei Kataloge Sie recherchieren wollen. 3.2. Index-Suchanfragen ----------------------- Allgemeines Format einer Suchanfrage, optionale Elemente in []: [Verknüpfung] [Negation] Indexname Vergleich Muster1 [-Muster2] DER SUCHAUSDRUCK DARF KEINE LEERZEICHEN ENTHALTEN! Leerzeichen dienen dazu, mehrere Suchanfragen innerhalb der Eingabezeile zu trennen, ungefähr wie bei CLI-Parametern. (Zweck: Arbeitserleichterung bei Verknüpfungen, s. u.) Eine Suchanfrage enthält also mindestens - einen Indexbezeichner, das ist einer der Buchstaben KWTBLPMAVU, deren Bedeutung Sie dem kurzen Hilfstext entnehmen können. Die meisten Indexe entsprechen direkt einem Datenfeld, z. B. sind K, W, B, M, P die fünf Felder Interpret, Titel, Best.-Nr., Trägermedium, Preis aus der einzeiligen Kurzinformation. Der Index V (Volltext) sucht im Text aus allen Datenfelder zusammen. - einen Vergleichsoperator: "=", "<" oder ">". Ein Ungleichheitszeichen (wie # oder <>) wird *nicht* unterstützt, das geht nur über negiertes "=" (s. u.)! - ein Suchmuster, das ist eine Zeichenkette, die außer Buchstaben und Ziffern noch "?" als Platzhalter enthalten und auf "*" enden darf, also z. B. "1999", "eli?abeth", oder "schneewa*". Ein Muster wie d*tag funktioniert nicht (genauer gesagt: wird wie d* behandelt). Apostroph und andere Sonderzeichen spalten Wörter auf: it's finden Sie nicht unter "its", erst recht nicht unter "it's", dafür unter "it" und "s". Deutsche Umlaute und ß sind kein Problem, dabei ist es z. B. auch egal, ob man nach "ö" oder direkt nach "oe" suchen läßt. Ebenso egal ist Groß-/Kleinschreibung. Beispiele (bezogen auf Katalog 0): w=rubber findet "Rubber Soul" und noch ein paar andere CD's k=beatles Alle Beatles-CD's t=carrick* das beliebte irische Folkslied "Carrickfergus" p<10 soll weniger als 10 DM kosten l=3? Produktionen aus den 30er Jahren Optionale Elemente - Verknüpfungssymbole: "&", "|" (UND, ODER) Wird keins der beiden angegeben, überschreibt jede Suchanfrage die Ergebnisse der vorangehenden. "&" schränkt dagegen die bestehende Auswahl ein, "|" erweitert sie. Sie sehen, daß Sie auf diese Weise keine allgemeinen logischen Ausdrücke auswerten können, da die Verknüpfungen einfach fortlaufend erfolgen, ungefähr wie ein billigst-Taschenrechner rechnet. Normalerweise reicht das aber, da sowieso fast nur UND- Verknüpfungen benötigt werden. Beispiel (bezogen auf Katalog 2): Sie suchen alle Filme mit Geena Davis und müssen dabei noch beachten, daß die Vornamen der Schauspieler mal ausgeschrieben und mal abgekürzt werden: t=g |t=geena &t=davis Das ist eins der wenigen Beispiele mit einer ODER-Verknüpfung, das mir einfällt. Leider haben Sie Pech, auf diese Weise entgeht Ihnen immer noch der Datensatz mit dem Tippfehler "Geen Davis". Mit t=davis &t=g* würden Sie andererseits ein wenig über das Ziel hinausschießen. Die Lösung für dieses Problem (und auch für einige andere) finden Sie in Abschnitt 3.3. Sie können mehrere verknüpfte Suchausdrücke in eine Zeile packen, müssen es aber nicht, von der Wirkung ist beides letztlich gleich. Für "alles in eine Zeile" spricht, daß Sie dann erst einmal weggehen und ein Täßchen Kaffee trinken können. "Mehrzeilig" ist dagegen dann angebracht, wenn Sie vermuten, daß gar nicht alle verfügbaren Suchinformationen benötigt werden, und Sie sich Schritt für Schritt ans Ergebnis herantasten wollen. - Negation: "~", die Tilde, bekannt als Einserkomplement-Operator aus C. Ist vor allem in Verbindung mit "&" für Einschränkungen nützlich. Beispiel (Katalog 0): Sie fragen sich, ob es von "Blau blüht der Enzian" auch noch andere Versionen außer der von Heino gibt: t=enzian Ergebnis: 22 Datensätze, &~v=heino Ergebnis: 9 Datensätze, immerhin. Aber Heino hält die absolute Mehrheit! - 2. Suchmuster als Obergrenze, eingeleitet durch "-" Ist, wie auch ">" und "<" vor allem für Preise sinnvoll. Beispiel: &p=25-40 nur CD's mit "normalem" Preis 3.3. Suche nach Wortfolgen -------------------------- Die eben beschriebenen indexbezogenen Suchausdrücke wie k=beatles sind relativ schnell, da sie die Stichworttabellen der Datenbank benutzen. Für manche Zwecke reicht die Information, daß ein Datensatz bestimmte Wörter nur enthält, aber nicht aus. Ohne zusätzliche Information über ihre Anordnung zueinander bleiben noch zu viele unerwünschte Datensätze übrig. Eine Abhilfe bietet die Suche nach Wortfolgen, das Programm kennt dazu zwei Varianten: Wörter in der vorgegebenen Reihenfolge (f) oder, noch strenger, in direkter Abfolge hintereinander (F) im Text der Datensätze finden. In beiden Fällen zählen nur Wortfolgen, die nicht ein Semikolon ";" überschreiten (";" trennt die einzelnen Titel einer CD). Da bei dieser Suche jeder Datensatz für eine Entscheidung erst komplett gelesen werden muß, sollten aus Zeitgründen höchstens 100 - 200 Datensätze untersucht werden. Eine Vorauswahl mit Index-Suchanfrage ist also notwendig. Beispiel (zu Katalog 1): Von wem war noch gleich der Titelsong aus Black Rain, "City on the edge of the night" - oder so ähnlich? Nun, fangen wir mit den Stichwörtern an, von denen wir uns sicher sind: t=edge &t=night Ergebnis: 44 Datensätze. Ein bißchen viel, um alle einzeln anzuschauen, aber gerade richtig, um eine Wortfolge suchen zu lassen: F edge of the night Ergebnis: 2 Datensätze, prima, gleich anschauen (z). Ein Stück heißt einfach "Edge of the night" (von Sister Whiskey) und eins "Livin' on the edge of the night" (von Iggy Pop), das dürfte das richtige sein. Angenommen, wir hätten uns etwas besser an den Titel erinnert, hätte es eine weitere elegante Lösung gegeben: t=edge &t=night f liv* edge night Ergebnis: 1 Datensatz. Das klein geschriebene "f" bedeutet, daß diesmal zwischen den Stichwörtern noch alle möglichen anderen Wörter stehen dürfen, ebenso Satz- und Sonderzeichen, außer dem bereits erwähnten Semikolon ";". (Satz- und Sonderzeichen werden übrigens immer ignoriert, auch bei der strengeren Suche mit "F".) Noch ein Beispiel zu Katalog 2, die versprochene Lösung zum Problem der abgekürzten Schauspielernamen. Wir fangen wieder mit einer Index- Suchanfrage an: t=davis Ergebnis: 48 Datensätze, und ein kurzer Blick auf die Datensätze zeigt ("z", Volltextanzeige mit öffnen, Ende mit ), daß Geena Davis wirklich einen recht weitverbreiteten Nachnamen trägt. Also ist eine weitere Einschränkung nötig: F g* davis Ergebnis: 13 Datensätze. Davon ist einer überzählig, denn es gibt offensichtlich auch einen Guy Davis, und einer bleibt ein Rätsel, da bei "Zebo" einfach G. Davis aufgeführt ist, aber das wollten wir ja so. Daß in den Volltexten nun auch die Wörter mit "G" farbig markiert sind (z. B. "Goldblum"), die mit dem Ergebnis der Suche nichts zu tun haben sollten, ist ein kleiner Bug, den ich zu entschuldigen bitte (und der das Ergebnis der Suche auch tatsächlich nicht beeinflußt). 3.4. Betrachten der Auswahl --------------------------- Wie erwähnt, lassen sich mit 'z' die ausgewählten Datensätze anzeigen. Es öffnet sich ein Fenster mit den einzeiligen Kurzbeschreibungen: Baez,Joan |No Woman No Cry |6379054 |CD |12,95 >Baez,Joan |Speaking Of Dreams |5367636 |CD |23,95 Ball,Patrick |Celtic Harp - Secret Isle|5577367 |CD |35,95 Bell,Derek |Musical Ireland |6242954 |CD |33,95 Briar,Celia |The Dark Rose |7092046 |CD |35,95 ... Sie können den kleinen Zeiger '>' bewegen, um einzelne Datensätze auszuwählen und die Liste durchzuscrollen. Crsr ^/v: Ein Datensatz vor/zurück Shift-Crsr ^/v: In 5er-Schritten vor/zurück Crsr <->: Eine Bildschirmhöhe vor/zurück F1..F10: Absoluter Sprung zu einem Datensatz bei ca. 0%, 11%, 22% ... 100% der gesamten Liste. Nützlich bei riesigen Listen ab etwa 100 Datensätzen. Return: Öffnet ein Fenster mit der vollen Produktbeschreibung. Wird mit Return oder Esc wieder geschlossen. s/p: Speichert/druckt die Kurzinformation des gerade ausgewählten Datensatzes. S/P: Speichert/druckt den Volltext, ebenfalls nur zum ausgewählten Datensatz. Help: Zeigt einen kurzen Hilfstext an. Esc: Schließt die Liste und kehrt zur Kommandoeingabe zurück. Ein paar allgemeine Hinweise: - Lassen Sie bloß die Maus in Ruhe! Es gibt nichts, was Sie anklicken könnten, und Sie stiften Verwirrung, wenn Sie ein anderes als das zuletzt geöffnete Fenster aktiv klicken: Das Programm erwartet seine Eingaben immer aus dem Fenster, das es zuletzt geöffnet hatte und das darum normalerweise aktiv sein müßte. - Nunja, etwas können Sie mit der Maus schon machen: Sie können das Listenfenster verkleinern, und das Programm erkennt die veränderte Größe. Allerdings sollte das normalerweise unnötig sein, Ihre Lieblings-Fenstergrößen können Sie in der Datei "S:JPC.cfg" ja fest einstellen. - Die Datei zum Drucker, PRT:, bleibt nach dem ersten Druckbefehl so lange geöffnet, bis das Auswahlfenster wieder geschlossen wird. Das ist die einzige Methode, die Druckertreiber von Tintenstrahlern und Laserdruckern davon abzuhalten, sofort nach jedem Druckbefehl das Blatt auszuwerfen. Andererseits kann darum auch erst nach Schließen des Auswahlfensters garantiert werden, daß der Ausdruck komplett ist. Ich bitte vor allem die Besitzer von guten alten Nadeldruckern, für die diese Maßnahme vermutlich unnötig ist, hierfür um Verständnis. 4. Was bietet der Katalog? ========================== Der JPC-Katalog nennt sich auch "Lexilog", weil die lieferbaren Titel alle mit ausführlicher Beschreibung aufgeführt sind, z. T. auch mit Pressestimmen, das Ganze ergibt halt ein großartiges Nachschlagewerk. 4.1. Pop/Jazz ------------- Der Katalog Pop/Jazz umfaßt 146 MByte, davon 34 MByte Klartext. Er enthält 79025 Datensätze, unterteilt in 44 Musik-Arten, davon machen Jazz (15783) und Rock/Pop (47892) wie zu erwarten den größten Anteil aus. (Eine Auflistung der Kategorien können Sie übrigens mit dem Kommando a=* erzeugen und mit a=test* dann z. B. alle Test-CD's heraussuchen.) Beispiel-Datensatz: ROCK,POP,LIEDERMACHER,CHANSON,... Interpret: Ferry,Brian Titel: The Bride Stripped Bare Sign of the times;Can't let go;Hold on I'm coming;Same old blues;When she walks in the room;Take me to the river;What goes on;This island earth;That's how strong my love is; Carrick Fergus Bestell-Nr.: 5444485 Label: EG,AAD,78 Preis: 23,95 Neuheit: 0 P Trägermedium: CD Musik-Art: P 4.2. Klassik ------------ Der Klassik-Katalog umfaßt 28 MByte, davon 14 MByte Klartext. Er enthält 37184 Datensätze, aufgeteilt in über 70 Musik-Arten. (Kommando zum Auflisten der Kategorien: a=*). Beispiel-Datensatz: Klassik nach Komponisten Komponist: Mozart,Wolfgang Amadeus (1756-1791) Werk: Die Zauberflöte (Gesamtaufnahme ohne Dialoge) Lemnitz,Berger,Rosvaenge,Strienz,Hüsch, Beilke,Berlin PO,Beecham Bestell-Nr.: 6104937 Label: Nim,AAD,m,37 Preis: 59,95 Neuheit: 0 C Trägermedium: CD Inhalt: 2CD Kategorie: C C.H. in FonoForum 12/85:"Diese allererste Gesamtaufnahme der 'Zauberflöte' stellt heute bereits ein Kapitel Schallplattenge- schichte dar.Daß sich die Mozart-Auffas- sung seither um einiges gewandelt hat ..än- dert nichts an der Gültigkeit des Tondoku- ment." 4.3. Video ---------- Der Video-Katalog umfaßt 6.9 MByte, davon 2.8 MByte Klartext. Er enthält 6975 Datensätze, unterteilt in 9 Film-Arten (Schlüssel A), wovon "Spielfilme A-Z" den größten Anteil ausmachen (3872). Achtung: Musikvideos stehen im Pop/Jazz-Katalog! Beispiel-Datensatz: SPIELFILME VON A-Z A-Z: S Titel: Der Sunset Killer Thriller, ca.90 Min. R:William Lustig; D:Judd Nelson, Leo Rossi, Robert Loggia, Meg Forster, Patrick O'Brian Bestell-Nr.: 7058909 Label: War,FSK16,1988 Preis: 29,95 Neuheit: 0 V Trägermedium: VID Film-Art: SPIELFILME VON A-Z RoRoFilmlexikon:"Spannend erzählter Polizei- Film. ..Unterhaltung für ein abgehärtetes Publikum." U 4.4. Einschränkungen -------------------- Ich behaupte nicht, daß der JPC-Katalog perfekt wäre. Bereits angesprochen: die dreiste Verwendung des High-Sierra-Formats. Die Inhaltsangaben von Samplern sind sehr oft unvollständig ("... u. v. a.", haha), und bei Soundtracks wird konsequent nur der Komponist genannt, niemals Einzeltitel, selbst wenn es sich um bekannte Pop-Stücke handeln sollte (kommt ja durchaus öfters vor). Auch die Anzahl von Tippfehlern ist bedenklich hoch, was das Auffinden einzelner Titel u. U. erheblich erschweren kann. Trotzdem scheint es, daß JPC mit diesem Katalog etwas einzigartiges geschaffen hat. 5. Bekannte Probleme ==================== - Getrennte Wörter im Volltext werden nicht immer als zusammengehörig erkannt. Bei JPC hat man sich über diese Problematik bis zum 95er Katalog anscheinend überhaupt keine Gedanken gemacht. Beim 96er Pop-Katalog sind die Probleme behoben (z. B. t=lorena findet auch die CD "Kings of Country" mit "Lo-rena"), im Video-Katalog besteht das Problem dagegen weiter: z. B. gibt es für "Judd Nel-son" keinen Indexeintrag "NELSON", sondern stattdessen "NEL" und "SON". Die Suche nach zusammenhängenden Wortfolgen funktioniert trotzdem, dank zusätzlicher Programmieranstrengungen meinerseits: t=judd F judd nelson findet darum einen Datensatz mehr als die scheinbar äquivalente Suchanfrage t=judd &t=nelson - Es könnte sein, daß mein Programm mit der nächsten Katalog-CD (1998, erhältlich ab Oktober 97) nicht auf Anhieb funktionieren wird. Ganz ermutigend ist zwar, daß V1.4, die für 95er und 96er Katalog geschrieben war, auch auf Anhieb den 97er Katalog lesen konnte. Ich benutze mittlerweile auch deutlich mehr Informationen aus den diversen *.INI, *.GLB und NORM.* Dateien, als z. B. noch in V1.3, aber eben immer noch längst nicht alle. Da kann sich wer weiß was ändern, ohne das mein Programm es merkt. - Als ich noch mein Mitsumi FX-001D hatte, trat gelegentlich ein seltsamer Bug auf: Das Programm blieb beim Versuch, einen Volltext anzuzeigen, abzuspeichern oder für ein f/F-Kommando zu lesen, gelegentlich hängen. Symptome: flackernde Busy-LED am CD-Laufwerk, Systemleistung ging in die Knie, obwohl ARTM für alle beteiligten Tasks (jpc, CD0, cdx.device, tandemcd.device) "Wait"-Zustand feststellte. Und es dauerte immer extrem lange (bis zu einer Minute!), bis DOS das Problem bemerkte und einen "Read Error"-Requester hochbrachte. Nach einem Software-Update auf tandemcd.device 41.6 (erhältlich u. a. auf der MPearls II CD) war dieser Bug amüsanterweise verschwunden. 6. Versionen ============ V1.0: Es funktioniert! Ich kann die Stichworttabellen auslesen! (11/94) V1.1: Verbesserter Kommandozeilen-Interpreter (01/95) V1.2: Markieren der Treffer im Volltext (04/95) V1.3: Suche nach Wortfolgen (06/95) V1.4: Für den JPC-Katalog 96 gepatcht (10/95) V1.5: Von Pascal nach C portiert, einige Kleinigkeiten verbessert (03/97) 7. Credits ========== Compiler: GNU C, mit libnix Mein treuer Editor: Martin Reddy's "EdWord Pro" V5.6 Die Anleitung im AmigaGuide-Format gibt es dank: Text2Guide 3.10 von Stephan Sürken 8. FREEWARE =========== Die Nutzung dieser Software ist kostenlos, und sie darf beliebig kopiert und weitergegeben werden. Ansonsten freue ich mich über Fan-Post, Grüße und realistische Verbesserungsvorschläge (bitte nichts in die Richtung "ARexx-Port" oder "Intuition-Oberfläche" :-). Meine Adresse: Wilhelm Nöker Hertastr. 8 D-44388 Dortmund