@database "SuperPlay_Ref_GER"
@master "DH1:PRG/superplay-lib_IDY/autodocs/SuperPlay_Ref_GER.doc"

@Node Main "SuperPlay_Ref_GER.doc"
    @{" --background-- " Link "--background--"}
    @{" SPL_AllocHandle() " Link "SPL_AllocHandle()"}
    @{" SPL_FreeHandle() " Link "SPL_FreeHandle()"}
    @{" SPL_StopReplay() " Link "SPL_StopReplay()"}
    @{" SPL_FreeResources() " Link "SPL_FreeResources()"}
    @{" SPL_SuperPlay() " Link "SPL_SuperPlay()"}
    @{" SPL_SuperWrite() " Link "SPL_SuperWrite()"}
    @{" SPL_InitHandleAsDOS() " Link "SPL_InitHandleAsDOS()"}
    @{" SPL_InitHandleAsClip() " Link "SPL_InitHandleAsClip()"}
    @{" SPL_SetWriteType() " Link "SPL_SetWriteType()"}
    @{" SPL_GetErrorString() " Link "SPL_GetErrorString()"}
    @{" SPL_SetWriteName() " Link "SPL_SetWriteName()"}
    @{" SPL_FileInfoRequest() " Link "SPL_FileInfoRequest()"}
    @{" SPL_SetReqIOWindow() " Link "SPL_SetReqIOWindow()"}
    @{" SPL_ReadPlayData() " Link "SPL_ReadPlayData()"}
    @{" SPL_ContinueReplay() " Link "SPL_ContinueReplay()"}
    @{" SPL_FastForward() " Link "SPL_FastForward()"}
    @{" SPL_FastBackward() " Link "SPL_FastBackward()"}
    @{" SPL_GetSampleList() " Link "SPL_GetSampleList()"}
    @{" SPL_SetSampleLisSet() " Link "SPL_SetSampleLisSet()"}
    @{" SPL_GetFileType() " Link "SPL_GetFileType()"}
@EndNode

@Node "--background--" "superplay.library/--background--"

@{b}   VERSION@{ub}
        $VER: SuperPlay_Ref_GER.doc V6.3 (3.4.97)

@{b}   COPYRIGHT@{ub}
         1995-97 by Andreas R. Kleinert. All rights reserved.

        - Feel free to translate this Doc-File into other languages. -

@{b}   GENERAL@{ub}
              Andreas R. Kleinert,
              Sandstrasse 1,
              D-57072 Siegen,
              Germany.

        EMail:  Fido             Andreas Kleinert 2:2457/350.18
                Usenet/InterNet  Andreas_Kleinert@superview.ftn.neckar-alb.de

          If nothing else works, try one of these Fido-InterNet gateways:

                Andreas_Kleinert@p10.f435.n2457.z2.fido.sub.org (in Germany)
                Andreas_Kleinert@p10.f435.n2457.z2.fidonet.org  (USA or other)

@{b}   HISTORY@{ub}
        V2     bug-fixed ClipBoard-Support
               with the supplied SPObjects (ak)
        V3     created working combination of
               SPL_SetSampleList() and SuperWrite()
               calls (ak)
        V4     filetype recognition without loading (ak)
        V4.6   Autodoc format
               SetWriteName(): Correct type of write_name
               Change two SVL_ prefix to SPL_
               Add version behind NAME            (indy)
        V5.1   SetWriteName() parameter must be UBYTE * (ak)
        V5.2   add "()" to function names in text for better autodocs
               support(indy)
        V6.3   bumped version
               updated copyright note
               updated email address list (ak)


@EndNode

@Node "SPL_AllocHandle()" "superplay.library/SPL_AllocHandle"

@{b}   NAME@{ub}
        SPL_AllocHandle -- Handle reservieren  (V1)

@{b}   SYNOPSIS@{ub}

        APTR SPL_AllocHandle(APTR future)
        D0   -$1e            A1

@{b}   FUNCTION@{ub}

        Reserviert einen Handle zum Zugriff auf ein Sample/Module ber
        SPObjects.

@{b}   INPUT(S)@{ub}

        future - derzeit immer NULL

@{b}   RESULT@{ub}

        Ein Zeiger auf einen neu reservierten Handle oder NULL, falls
        die Reservierung fehlschlgt.

@{b}   WARNING@{ub}

        berprfe, ob das Ergebnis NULL oder ungleich NULL ist!

@{b}   SEE ALSO@{ub}

        @{"SPL_FreeResources()" Link "SPL_FreeResources()"}, @{"SPL_FreeHandle()" Link "SPL_FreeHandle()"}

@EndNode

@Node "SPL_FreeHandle()" "superplay.library/SPL_FreeHandle"

@{b}   NAME@{ub}
        SPL_FreeHandle -- Handle freigeben (V1)

@{b}   SYNOPSIS@{ub}

        VOID SPL_FreeHandle(APTR handle)
        D0   -$24           A1

@{b}   FUNCTION@{ub}

       Beendet das Abspielen und gibt alle Ressourcen sowie den zuvor mit
       @{"SPL_AllocHandle()" Link "SPL_AllocHandle()"} reservierten Handle frei.

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle

@{b}   RESULT@{ub}

        -

@{b}   SEE ALSO@{ub}

        @{"SPL_AllocHandle()" Link "SPL_AllocHandle()"}, @{"SPL_StopReplay()" Link "SPL_StopReplay()"}, @{"SPL_FreeResources()" Link "SPL_FreeResources()"}

@EndNode

@Node "SPL_StopReplay()" "superplay.library/SPL_StopReplay"

@{b}   NAME@{ub}
        SPL_StopReplay -- Beendet Abspielen des Samples/Modules  (V1)

@{b}   SYNOPSIS@{ub}

        VOID SPL_StopReplay(APTR handle)
        D0   -$2a           A1

@{b}   FUNCTION@{ub}

        Beendet das Abspielen des mit den Handle angegebenen Sample/Module.
        Einige SPObjects ermglichen es das Sample/Module durch Aufruf
        von @{"SPL_ContinueReplay()" Link "SPL_ContinueReplay()"} weiter abspielen zu lassen, nachdem es
        mit SPL_StopReplay() gestoppt worden ist.

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle

@{b}   RESULT@{ub}

        -

@{b}   SEE ALSO@{ub}

        @{"SPL_ContinueReplay()" Link "SPL_ContinueReplay()"}, @{"SPL_FreeResources()" Link "SPL_FreeResources()"}, @{"SPL_FreeHandle()" Link "SPL_FreeHandle()"}

@EndNode

@Node "SPL_FreeResources()" "superplay.library/SPL_FreeResources"

@{b}   NAME@{ub}
        SPL_FreeResources -- Freigabe nicht bentigter Ressourcen  (V1)

@{b}   SYNOPSIS@{ub}

        VOID SPL_FreeResources(APTR handle)
        D0   -$30              A1

@{b}   FUNCTION@{ub}

        Gibt alle Ressourcen - des mit den Handle angegebenen Samples/Modules
        frei - die nicht bentigt werden, um es einfach nur abzuspielen.
        Das Abspielen des Samples/Modules wird weder gestoppt noch
        unterbrochen.

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle

@{b}   RESULT@{ub}

        -

@{b}   SEE ALSO@{ub}

        @{"SPL_AllocHandle()" Link "SPL_AllocHandle()"}, @{"SPL_StopReplay()" Link "SPL_StopReplay()"}, @{"SPL_FreeHandle()" Link "SPL_FreeHandle()"}

@EndNode

@Node "SPL_SuperPlay()" "superplay.library/SPL_SuperPlay"

@{b}   NAME@{ub}
        SPL_SuperPlay -- Ldt und spielt Sample/Module (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_SuperPlay(APTR handle, char *filename)
        D0    -$36          A1           A2

@{b}   FUNCTION@{ub}

        Ldt und spielt das mit den Dateinamen spezifizierte Sample/Module
        ab.
        Das Handle wird initialisiert und das passende SPObject geffnet
        und zum Abspielen des Sample/Module verwendet.

        Das Abspielen kann entweder durch vollstndige Freigabe des
        Handles(SPL_FreeHandle()) beendet oder mit @{"SPL_StopReplay()" Link "SPL_StopReplay()"}
        unterbrochen werden.

@{b}   INPUT(S)@{ub}

        handle   - ein gltiger Handle
        filename - ein gltiger AmigaDOS Dateipfad und -name

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_AllocHandle()" Link "SPL_AllocHandle()"}, @{"SPL_StopReplay()" Link "SPL_StopReplay()"}, @{"SPL_ContinueReplay()" Link "SPL_ContinueReplay()"},
        @{"SPL_FastForward()" Link "SPL_FastForward()"}, @{"SPL_FastBackward()" Link "SPL_FastBackward()"}, @{"SPL_FreeHandle()" Link "SPL_FreeHandle()"}

@EndNode

@Node "SPL_SuperWrite()" "superplay.library/SPL_SuperWrite"

@{b}   NAME@{ub}
        SPL_SuperWrite -- Sample/Module speichern (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_SuperWrite(APTR handle, APTR source_handle)
        D0    -$3c           A1           A2

@{b}   FUNCTION@{ub}

        Normalerweise wird ein Sample/Module mit @{"SPL_SuperPlay()" Link "SPL_SuperPlay()"} geladen
        und abgespielt: Abgesehen von SPL_AllocHandle()/SP_FreeHandle() sind
        hierzu sind keine weiteren Funktionsaufrufe zum Lesen und
        Abpielen der Daten ntig.

        Zum Schreiben - also der Konvertierung eines Samples/Modules -
        mssen folgende Funktionsaufrufe ausgefhrt werden:

        source_handle = SPL_AllocHandle(N);
        result        = SPL_ReadPlayData(source_handle, source_name);
        dest_handle   = SPL_AllocHandle(N);
        /* result     = SPL_InitHandleAsDOS(dest_handle, N); */ /* default */
        result        = SPL_SetWriteName(dest_handle, dest_name, N);
        result        = SPL_SetWriteType(dest_handle, dest_type, N);
        result        = SPL_SuperWrite(dest_handle, source_handle);
        SPL_FreeHandle(dest_handle);
        SPL_FreeHandle(source_handle);


        Wichtig: berprfe den "result" Wert NACH JEDEM Funktionsaufruf
                 (siehe Beispiel Quellcodes) !

        Alle mglichen Werte fr dest_type knnen in der SPOBject-List
        der SuperPlayBase gefunden werden.
        Diese Werte VERNDERN sich bei jeder Neuinitialisierung der
        superplay.library, deshalb mu man sie bei jeden ffnen der
        @{"Library" Link "TEXT_INCLUDE:exec/libraries.h/Main" 34} erneut auslesen.

        WENN "source_handle" = NULL,
        wird berprft, ob eine SampeList mittels "SPL_SetSampleList()"
        gesetzt worden ist wenn dies der Fall ist wird diese
        SampleList komplett abgespeichert.

        Ein wird empfohlen den alten Weg zur Konvertierung zwischen
        Dateiformaten und den neuen Weg zum Abspeichern einzelner(selbst
        erstellter) SampleLists zu verwenden.

@{b}   INPUT(S)@{ub}

        handle        - ein gltiger Handle          (zum Schreiben)
        source_handle - ein anderer gltiger Handle  (zum Lesen)

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_AllocHandle()" Link "SPL_AllocHandle()"}, @{"SPL_ReadPlayData()" Link "SPL_ReadPlayData()"}, @{"SPL_FreeHandle()" Link "SPL_FreeHandle()"}

@EndNode

@Node "SPL_InitHandleAsDOS()" "superplay.library/SPL_InitHandleAsDOS"

@{b}   NAME@{ub}
        SPL_InitHandleAsDOS -- Initialisiert Handle fr AmigaDOS  (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_InitHandleAsDOS(APTR handle, APTR future)
        D0    -$42                A1           A2

@{b}   FUNCTION@{ub}

        Initialisiert den Handle fr den Zugriff ber AmigaDOS hierbei
        wird der angegebene Dateiname benutzt.

        Eine andere Mglichkeit besteht darin den Handle fr den
        Clipboard Zugriff zu initialisieren(abhngig vom jeweiligen
        SPObject, z.B. IFF-8SVX).

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle
        future - derzeit immer NULL

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_InitHandleAsClip()" Link "SPL_InitHandleAsClip()"}

@EndNode

@Node "SPL_InitHandleAsClip()" "superplay.library/SPL_InitHandleAsClip"

@{b}   NAME@{ub}
        SPL_InitHandleAsClip -- Initialisiert Handle fr ClipBoard  (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_InitHandleAsClip(APTR handle, APTR future)
        D0    -$48                 A1           A2

@{b}   FUNCTION@{ub}

        Initialisiert einen Handle fr den Zugriff aufs Clipboard, dabei
        wird ein (mglicherweise) angegebener AmigaDOS Datename ignoriert.

        Die beinahe fast immer benutze Mglichkeit besteht in der
        Initialisierung des Handle zum AmigaDOS Zugriff(wird von
        allen SPObjects untersttzt).

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle
        future - derzeit immer NULL

@{b}   RESULT@{ub}

        NULL oder ein SPERR-Fehlercode.

@{b}   SEE ALSO@{ub}

        @{"SPL_InitHandleAsDOS()" Link "SPL_InitHandleAsDOS()"}

@EndNode

@Node "SPL_SetWriteType()" "superplay.library/SPL_SetWriteType"

@{b}   NAME@{ub}
        SPL_SetWriteType -- Schreibtyp setzen  (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_SetWriteType(APTR handle, ULONG write_type, APTR future)
        D0    -$4e             A1           A2                A3

@{b}   FUNCTION@{ub}

        Setzt den Schreibtyp fr einen @{"SPL_SuperWrite()" Link "SPL_SuperWrite()"} Aufruf.
        Siehe dortige Beschreibung und Beispiel Quellcodes fr weitere
        und detailliertere Informationen.

@{b}   INPUT(S)@{ub}

        handle     - ein gltiger Handle
        write_type - ein gltiger - zeitlich begrenzter - write_type Code
                     aus der SPObject @{"List" Link "TEXT_INCLUDE:exec/lists.h/Main" 21}
        future     - derzeit immer NULL

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_SuperWrite()" Link "SPL_SuperWrite()"}

@EndNode

@Node "SPL_GetErrorString()" "superplay.library/SPL_GetErrorString"

@{b}   NAME@{ub}
        SPL_GetErrorString -- Liefert Fehlertext  (V1)

@{b}   SYNOPSIS@{ub}

        char * SPL_GetErrorString(ULONG error_code)
        D0    -$54                A1

@{b}   FUNCTION@{ub}

        Liefert den Fehlertext fr eine bestimmte Fehlernummer die
        von einer der superplay.library Funktionen zurckgegeben worden
        ist.

@{b}   INPUT(S)@{ub}

        error_code - eine SPERR-Fehlernummer

@{b}   RESULT@{ub}

        Nur-Lese Zeiger auf einen SPERR-Fehlertext

@{b}   SEE ALSO@{ub}

        -

@EndNode

@Node "SPL_SetWriteName()" "superplay.library/SPL_SetWriteName"

@{b}   NAME@{ub}
        SPL_SetWriteName -- Dateinamen fr @{"SPL_SuperWrite()" Link "SPL_SuperWrite()"} setzen  (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_SetWriteNameClip(APTR handle, UBYTE *write_name, APTR future)
        D0    -$5a                 A1           A2                 A3

@{b}   FUNCTION@{ub}

        Setzt den Dateinamen fr einen @{"SPL_SuperWrite()" Link "SPL_SuperWrite()"} Aufruf.
        Siehe dortige Beschreibung und Beispiel Quellcodes fr weitere
        und detailliertere Informationen.

@{b}   INPUT(S)@{ub}

        handle     - ein gltiger Handle
        write_name - ein gltiger AmigaDOS Dateipfad und -name
        future     - derzeit immer NULL


@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_SuperWrite()" Link "SPL_SuperWrite()"}

@EndNode

@Node "SPL_FileInfoRequest()" "superplay.library/SPL_FileInfoRequest"

@{b}   NAME@{ub}
        SPL_FileInfoRequest -- Zeigt Informationen zum Sample/Module  (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_FileInfoRequest(APTR handle, struct @{"Window" Link "TEXT_INCLUDE:intuition/intuition.h/Main" 797} *window,
        D0    -$60                A1           A2

                                  APTR future)
                                  A3

@{b}   FUNCTION@{ub}

        Gibt ein Infofenster mit mehr oder weniger detaillierten Informationen
        ber das derzeit geladene Sample/Module aus.
        Es ist mglich einen Zeiger auf ein Fenster anzugeben mit dem
        spezifiziert wird wo dieses Infofenster erscheinen soll.

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle
        window - ein gltiger Fensterzeiger oder NULL
        future - derzeit immer NULL


@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_SetReqIOWindow()" Link "SPL_SetReqIOWindow()"}

@EndNode

@Node "SPL_SetReqIOWindow()" "superplay.library/SPL_SetReqIOWindow"

@{b}   NAME@{ub}
        SPL_SetReqIOWindow -- Default Fenster fr Dialogfenster setzen  (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_SetReqIOWindow(APTR handle, struct @{"Window" Link "TEXT_INCLUDE:intuition/intuition.h/Main" 797} *window)
        D0    -$66               A1           A2

@{b}   FUNCTION@{ub}

        Setzt ein Default-Fenster (default: IntuitionBase->FirstWindow)
        fr alle Dialogfenster.

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle
        window - ein gltiger Fensterzeiger oder NULL

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        SPL_FileInfoReq

@EndNode

@Node "SPL_ReadPlayData()" "superplay.library/SPL_ReadPlayData"

@{b}   NAME@{ub}
        SPL_ReadPlayData -- Ldt Daten eines Samples/Modules  (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_ReadPlayData(APTR handle, char *filename)
        D0    -$6c             A1           A2

@{b}   FUNCTION@{ub}

        Ldt die Daten eines mittels des Dateinamen spezifizierten
        Samples/Modules aber spielt diese NICHT ab.
        Das Handle wird initialisiert und das entsprechende SPObject
        geffnet, um mit @{"SPL_SuperWrite()" Link "SPL_SuperWrite()"} auf die Sample/Module Daten
        zugreifen zu knnen.

@{b}   INPUT(S)@{ub}

        handle   - ein gltiger Handle
        filename - ein gltiger AmigaDOS Dateipfad und -name

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_SetWriteName()" Link "SPL_SetWriteName()"}, @{"SPL_SetWriteType()" Link "SPL_SetWriteType()"}, @{"SPL_SuperWrite()" Link "SPL_SuperWrite()"}

@EndNode

@Node "SPL_ContinueReplay()" "superplay.library/SPL_ContinueReplay"

@{b}   NAME@{ub}
        SPL_ContinueReplay -- Abspielen fortsetzen  (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_ContinueReplay(APTR handle)
        D0    -$72               A1

@{b}   FUNCTION@{ub}

        Einige SPObjects bieten die Mglichkeit das durch @{"SPL_StopReplay()" Link "SPL_StopReplay()"}
        unterbrochene Abspielen des Samples/Modules durch Aufruf
        dieser Funktion fortzufhren.

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_SuperPlay()" Link "SPL_SuperPlay()"}, @{"SPL_StopReplay()" Link "SPL_StopReplay()"}

@EndNode

@Node "SPL_FastForward()" "superplay.library/SPL_FastForward"

@{b}   NAME@{ub}
        SPL_FastForward -- Schnellvorlauf  (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_FastForward(APTR handle)
        D0    -$78            A1

@{b}   FUNCTION@{ub}

        Einige SPObjects untersttzen die auch von Kassettenrecordern
        bekannte Mglichkeit des Schnellvor- bzw. rcklaufs durch
        ein Sample/Module.

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_FastBackward()" Link "SPL_FastBackward()"}

@EndNode

@Node "SPL_FastBackward()" "superplay.library/SPL_FastBackward"

@{b}   NAME@{ub}
        SPL_FastBackward -- Schnellrcklauf  (V1)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_FastBackward(APTR handle)
        D0    -$7e            A1

@{b}   FUNCTION@{ub}

        Einige SPObjects untersttzen die auch von Kassettenrecordern
        bekannte Mglichkeit des Schnellvor- bzw. rcklaufs durch
        ein Sample/Module.

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_FastForward()" Link "SPL_FastForward()"}

@EndNode

@Node "SPL_GetSampleList()" "superplay.library/SPL_GetSampleList"

@{b}   NAME@{ub}
        SPL_GetSampleList -- Zugriff auf SampleList  (V2)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_GetSampleList(APTR handle, struct SPO_SampleList **list)
        D0    -$84              A1           A2

@{b}   FUNCTION@{ub}

        Whrend bzw. nachdem Laden einer Sample-Datei erstellen SPObjects
        der Version 2 eventuell eine spezielle Liste aller Samples die in
        dieser Datei enthalten sind.
        Dies wird in der Regel bei einer Sample-Datei ein Sample sein
        und eine ganze Reihe von Samples bei einen Module.

        Nicht alle SPObjects, speziell nicht alle ModuleType-SPObjects,
        untersttzen dies und werden in diesen Fall eine Fehlernummer oder
        eine leere SampleList als Ergebnis liefern.

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle
        list   - ein Zeiger auf einen SPO_SampleList Zeiger

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        SPL_SetSampleList()

@EndNode

@Node "SPL_SetSampleList()" "superplay.library/SPL_SetSampleList"

@{b}   NAME@{ub}
        SPL_SetSampleList -- SampleList setzen  (V2)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_SetSampleList(APTR handle, struct SPO_SampleList *list)
        D0    -$8a              A1           A2

@{b}   FUNCTION@{ub}

        Zum Speichern von Sample-Dateien mit SPObjects der Version 2 kann
        eine spezielle Liste aller Samples, die in dieser Datei erscheinen
        sollen, verwendet werden.

        Dies wird in der Regel bei einer Sample-Datei ein Sample sein
        und eine ganze Reihe von Samples bei einen Module.

        Nicht alle SPObjects, speziell nicht alle ModuleType-SPObjects,
        untersttzen dies und knnten stattdessen ein
        SPERR_ACTION_NOT_SUPPORTED als Fehler liefern.

@{b}   INPUT(S)@{ub}

        handle - ein gltiger Handle
        list   - ein Zeiger auf eine SPO_SampleList

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_GetSampleList()" Link "SPL_GetSampleList()"}

@EndNode

@Node "SPL_GetFileType()" "superplay.library/SPL_GetFileType"

@{b}   NAME@{ub}
        SPL_GetFileType -- Liefert Dateitypen-Code  (V4)

@{b}   SYNOPSIS@{ub}

        ULONG SPL_GetFileType(APTR handle, char *filename, ULONG *filetype)
        D0    -$90            A1           A2              A3

@{b}   FUNCTION@{ub}

        Findet den SuperPlay spezifischen Dateitypen-Code
        (der bei jeder (neuen)-Initialisierung der @{"Library" Link "TEXT_INCLUDE:exec/libraries.h/Main" 34} neu definiert
        wird) oder SP_FILE_TYPE_UNKNOWN (== NULL == FALSE).

        Benutzen Sie folgende Funktionsaufrufe fr eine einfache berprfung:

        handle   = SPL_AllocHandle(N);
        SPerr    = SPL_GetFileType(handle, filename, &filetype);
                   SPL_FreeHandle(handle);

        Dieser Handle darf NICHT fr weitere Operationen mit dieser
        Datei benutzt werden(Datei wird einmal geffnet und zweimal
        berprft aber nur einmal geschlossen, usw.)

        Initialisierungs Funktionen wie @{"SPL_InitHandleAsClip()" Link "SPL_InitHandleAsClip()"} sind
        gar nicht erlaubt.

        Wichtig, diese Funktion setzt nur die FILETYPES und nicht
        die SUBTYPES. Zum Schreiben mssen sie z.B. diese SUBTYPES
        spezifizieren.

        FILETYPES sind nur fr eine einfache Idendifikation gedacht
        und geben nur den allgemeinen Typ an(8SVX, ST).

@{b}   INPUT(S)@{ub}

        handle   - ein gltiger Handle
        filename - ein gltiger AmigaDOS Dateipfad- und -name
        filetype - Zeiger auf ULONG fr SP_FILETYPE-Wert

@{b}   RESULT@{ub}

        NULL oder eine SPERR-Fehlernummer.

@{b}   SEE ALSO@{ub}

        @{"SPL_AllocHandle()" Link "SPL_AllocHandle()"}, @{"SPL_FreeHandle()" Link "SPL_FreeHandle()"}

@EndNode

