Initial commit.
[amiga/xmodule.git] / include / clib / xmodule_protos.h
1 #ifndef  CLIB_XMODULE_PROTOS_H
2 #define  CLIB_XMODULE_PROTOS_H
3
4 /*
5 **      $VER: xmodule_protos.h 4.0 (16.1.96)
6 **
7 **      C prototypes. For use with 32 bit integers only.
8 **
9 **      (C) Copyright 1995,96 Bernardo Innocenti
10 **          All Rights Reserved
11 */
12
13 #ifndef  EXEC_TYPES_H
14 #include <exec/types.h>
15 #endif
16 #ifndef  UTILITY_TAGITEM_H
17 #include <utility/tagitem.h>
18 #endif
19 #ifndef  LIBRARIES_XMODULE_H
20 #include <libraries/xmodule.h>
21 #endif
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 /*--- functions in V1 or higher (Release 4.0) ---*/
28
29 /* Public entries */
30
31 struct SongInfo *xmCreateSongA( struct TagItem * tagList );
32 struct SongInfo *xmCreateSong( ULONG tag1, ... );
33 BOOL xmDeleteSong( struct SongInfo *si );
34 ULONG xmAddSongA( struct SongInfo *si, struct SongInfo *position, struct TagItem *tagList );
35 ULONG xmRemSong( struct SongInfo *si );
36 ULONG xmActivateSong( struct SongInfo *si );
37 struct SongInfo *xmLockActiveSong( UWORD mode );
38 struct XMHook *xmAddHookA( struct TagItem * tagList );
39 struct XMHook *xmAddHook( ULONG tag1, ... );
40 void xmRemHook ( struct XMHook *hook );
41 struct XMHook *xmIdentifyModule( BPTR fh, struct TagItem * tagList );
42 struct SongInfo *xmLoadModuleA( CONST_STRPTR fileName, struct TagItem * tagList );
43 struct SongInfo *xmLoadModule( CONST_STRPTR fileName, ULONG tag1, ... );
44 LONG xmSaveModuleA( struct SongInfo *si, CONST_STRPTR filename, struct XMHook *saver, struct TagItem * tagList );
45 LONG xmSaveModule( struct SongInfo *si, CONST_STRPTR filename, struct XMHook *saver, ULONG tag1, ... );
46 UWORD *xmSetSongLen( struct SongInfo *si, UWORD length );
47 struct Pattern *xmAddPatternA( struct SongInfo *, struct TagItem *);
48 struct Pattern *xmAddPattern( struct SongInfo *, LONG Tag1, ...);
49 struct Pattern *xmSetPatternA( struct SongInfo *, ULONG pattNum, struct TagItem * );
50 struct Pattern *xmSetPattern( struct SongInfo *, ULONG pattNum, LONG Tag1, ...);
51 void xmRemPattern( struct SongInfo *, LONG, LONG );
52 struct Instrument *xmAddInstrumentA( struct SongInfo *, LONG instrNum, struct TagItem * );
53 struct Instrument *xmAddInstrument( struct SongInfo *, LONG instrNum, LONG, ... );
54 struct Instrument *xmSetInstrumentA( struct SongInfo *, LONG instrNum, struct TagItem * );
55 struct Instrument *xmSetInstrument( struct SongInfo *, LONG instrNum, LONG, ... );
56 void xmRemInstrument( struct SongInfo *, LONG );
57 LONG xmProcessSongA( struct SongInfo *, void *, struct TagItem * );
58 LONG xmProcessSong( struct SongInfo *, void *, LONG, ... );
59 LONG xmDisplayMessageA( LONG level, APTR messsage, APTR args );
60 LONG xmDisplayMessage( LONG level, APTR messsage, ... );
61 LONG xmDisplayProgress( ULONG actual, ULONG total );
62
63 #ifdef __cplusplus
64 }
65 #endif
66
67 #endif   /* CLIB_XMODULE_PROTOS_H */