home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 4: Phase Four / 17Bit_Phase_Four.iso / files / 3197b.dms / 3197b.adf / Developer.lha / EagleplayerDeveloper / Include / misc / EaglePlayer.i < prev   
Encoding:
Text File  |  1994-04-30  |  19.4 KB  |  657 lines

  1. **
  2. **  $Filename: misc/EaglePlayer.i
  3. **  $Release: 1.52$
  4. **  $Revision: 12$
  5. **  $Date: 05/02/94$
  6. **
  7. ** Definitions and Macros for creating EaglePlayer Playermodules
  8. **
  9. **    (C) Copyright 1993/94 by DEFECT
  10. **        All Rights Reserved
  11. **
  12. **
  13.  
  14.     IFND    EAGLEPLAYER_I
  15. EAGLEPLAYER_I    SET    1
  16.  
  17.  
  18.     IFND    DeliTracker_Player_i
  19.         Include    "Misc/DeliPlayer.i"
  20.     ENDC
  21.  
  22.  
  23. EAGLEVERSION    EQU    8            ;Current Version of EaglePlayer
  24.  
  25.  
  26. *--------------------------- New EaglePlayer Tags ----------------------------*
  27. EP_TagBase    EQU    TAG_USER+"EP"
  28.  
  29.  
  30.     ENUM    EP_TagBase        ;EaglePlayer-TagBase
  31.  
  32.     EITEM    EP_Get_ModuleInfo    ;get Pointer to Moduleinfo Taglist
  33.     EITEM    EP_Free_ModuleInfo    ;free Taglist (e.g. Free Mem)
  34.     EITEM    EP_Voices        ;Set the Voices
  35.     EITEM    EP_SampleInit        ;create Sampleinfostructure
  36.     EITEM    EP_SampleEnd        ;ejected !!!
  37.     EITEM    EP_Save
  38.     EITEM    EP_ModuleChange        ;Change Module
  39.     EITEM    EP_ModuleRestore    ;Restore Module
  40.     EITEM    EP_StructInit        ;Return Pointer to Userprg.Struct (UPS_)
  41.     EITEM    EP_StructEnd        ;Free Struct (e.g. Free allocated Mem)
  42.     EITEM    EP_LoadPlConfig        ;Load Config of Player
  43.     EITEM    EP_SavePlConfig        ;Save Config of Player
  44.     EITEM    EP_GetPositionNr    ;return Patternnumber (in D0.l)
  45.     EITEM    EP_SetSpeed        ;Set Speed (for Players with own Timer)
  46.                     ;Value submitted in D0
  47.     EITEM    EP_Flags        ;see below
  48.     EITEM    EP_KickVersion        ;min Kickstartversion
  49.     EITEM    EP_PlayerVersion    ;min EP-Version
  50.     EITEM    EP_CheckModule        ;Checks the module (d0=Error or zero)
  51.     EITEM    EP_EjectPlayer
  52.     EITEM    EP_Date            ;Creator-Date (e.g 11.05.1993
  53.                     ;11.b, 05.b, 1993.w )
  54.     EITEM    EP_Check3
  55.     EITEM    EP_SaveAsPT        ;Save Module as Protrackermodule
  56.  
  57.     EITEM    EP_NewModuleInfo    ;TI_Data -> Pointer to Moduleinfo Taglist
  58.     EITEM    EP_FreeExtLoad
  59.     EITEM    EP_PlaySample        ;Play Sample d0=SampleNr
  60.     EITEM    EP_PatternInit        ;Init Patterninfostruct
  61.     EITEM    EP_PatternEnd        ;Free Patterninfostruct - optional
  62.     EITEM    EP_Check4
  63.     EITEM    EP_Check5
  64.     EITEM    EP_Check6
  65.  
  66.     EITEM    EP_CreatorLNr
  67.     EITEM    EP_PlayerNameLNr
  68.  
  69.     EITEM    EP_PlayerInfo        ;TI_Data -> APTR to TagList
  70.     EITEM    EP_PlaySampleInit
  71.     EITEM    EP_PlaySampleEnd
  72.  
  73. *********** end of player interface enumeration for EaglePlayer ***********
  74.  
  75.  
  76.  
  77. *------------------------- EaglePlayer EP_Flags --------------------------*
  78. *    if you use EP_Flags, please set all functions your player offers     *
  79.  
  80. EPF_Songend    EQU    1            ;Songend
  81. EPF_Restart    EQU    2            ;Player restartable
  82. EPF_Disable    EQU    3            ;Player disabled (1=yes)
  83. EPF_NextSong    EQU    4
  84. EPF_PrevSong    EQU    5
  85. EPF_NextPatt    EQU    6
  86. EPF_PrevPatt    EQU    7
  87. EPF_Volume    EQU    8
  88. EPF_Balance    EQU    9
  89. EPF_Voices    EQU    10
  90. EPF_Save    EQU    11
  91. EPF_Analyzer    EQU    12
  92. EPF_ModuleInfo    EQU    13
  93. EPF_SampleInfo    EQU    14
  94. EPF_Packable    EQU    15
  95. EPF_VolVoices    EQU    16
  96. EPF_InternalUPSStructure EQU    17
  97. EPF_RestartSong    EQU    18
  98. EPF_LoadFast    EQU    19
  99. EPF_EPAudioAlloc EQU    20
  100. EPF_VolBalVoi    EQU    21
  101.  
  102.  
  103. EPB_Songend    EQU    1<<EPF_Songend
  104. EPB_Restart    EQU    1<<EPF_Restart
  105. EPB_Disable    EQU    1<<EPF_Disable
  106. EPB_NextSong    EQU    1<<EPF_NextSong
  107. EPB_PrevSong    EQU    1<<EPF_PrevSong
  108. EPB_NextPatt    EQU    1<<EPF_NextPatt
  109. EPB_PrevPatt    EQU    1<<EPF_PrevPatt
  110. EPB_Volume    EQU    1<<EPF_Volume
  111. EPB_Balance    EQU    1<<EPF_Balance    
  112. EPB_Voices    EQU    1<<EPF_Voices
  113. EPB_Save    EQU    1<<EPF_Save
  114. EPB_Analyzer    EQU    1<<EPF_Analyzer
  115. EPB_ModuleInfo    EQU    1<<EPF_ModuleInfo
  116. EPB_SampleInfo    EQU    1<<EPF_SampleInfo
  117. EPB_Packable    EQU    1<<EPF_Packable
  118. EPB_VolVoices    EQU    1<<EPF_VolVoices
  119. EPB_InternalUPSStructure EQU 1<<EPF_InternalUPSStructure
  120. EPB_RestartSong    EQU    1<<EPF_RestartSong
  121. EPB_LoadFast    EQU    1<<EPF_LoadFast
  122. EPB_EPAudioAlloc EQU    1<<EPF_EPAudioAlloc
  123. EPB_VolBalVoi    EQU    1<<EPF_VolBalVoi
  124.  
  125. *---------------------------- Module-Info Tags -------------------------------*
  126. MI_TagBase    EQU TAG_USER+"MI"
  127.  
  128.     ENUM    MI_TagBase            ; TagBase
  129.  
  130.     EITEM    MI_SongName            ;Pointer to Songname
  131.     EITEM    MI_AuthorName            ;Pointer to Authorname
  132.     EITEM    MI_SubSongs            ;Subsongs
  133.     EITEM    MI_Pattern            ;highest PatternNr
  134.     EITEM    MI_MaxPattern            ;Max Pattern (SoundTr. 64)
  135.     EITEM    MI_Length            ;Length of Module
  136.     EITEM    MI_MaxLength            ;Max Length (SoundTr. 128)
  137.     EITEM    MI_Steps            ;Steps (SoundMon)
  138.     EITEM    MI_MaxSteps            ;Max Steps
  139.     EITEM    MI_Samples            ;Number of used Samples
  140.     EITEM    MI_MaxSamples            ;Max Samples (SoundTr 31)
  141.     EITEM    MI_SynthSamples            ;Number of used SynthSamples
  142.     EITEM    MI_MaxSynthSamples        ;Max SynthSamples
  143.     EITEM    MI_Songsize            ;Songsize in Bytes
  144.     EITEM    MI_SamplesSize            ;Samplessize in Bytes
  145.     EITEM    MI_ChipSize            ;needed Chip-Size in Bytes
  146.     EITEM    MI_OtherSize            ;FastRam (MDAT-Files) in Bytes
  147.     EITEM    MI_Calcsize            ;calculated length of module in Bytes
  148.     EITEM    MI_SpecialInfo            ;Pointer to InfoText
  149.     EITEM    MI_LoadSize            ;Loadsize (TFMX,Startrekker) in Bytes
  150.     EITEM    MI_Unpacked            ;Unpacked Size (e.g. Noise-
  151.                         ;Packer) in Bytes
  152.     EITEM    MI_UnPackedSystem        ;MIUS (see below) or APTR
  153.                         ;to Soundsysname
  154.     EITEM    MI_Prefix            ;Save-Prefix (e.g. "MOD." or
  155.                         ;"Mdat.")
  156.     EITEM    MI_About            ;TI_Data points on a string
  157.                         ;telling something about this
  158.                         ;Soundsystem
  159.     EITEM    MI_MaxSubSongs            ;Max SubSongs
  160.     EITEM    MI_Voices            ;used Voices
  161.     EITEM    MI_MaxVoices            ;Max Voices
  162.     EITEM    MI_UnPackedSongSize        ;for converted modules
  163.     EITEM    MI_Duration            ;Duration
  164.  
  165.  
  166. *--------- Unpacked Soundsystems (intern), more follow --------------------*
  167. MIUS_OldSoundTracker    EQU    1
  168. MIUS_SoundTracker    EQU    2
  169. MIUS_NoiseTracker    EQU    3
  170. MIUS_ProTracker        EQU    4
  171. MIUS_SizeOF        EQU    4
  172.  
  173.  
  174.  
  175.  
  176.  
  177. *------------------------------ Sample-Info Tags --------------------------*
  178.  
  179.  STRUCTURE EP_Sampletable,0
  180.  
  181.     APTR    EPS_NextSample            ; Next SampleTag-Structure
  182.     APTR    EPS_SampleName            ; Name of Sample
  183.     ULONG    EPS_Adr                ; Adr of sample
  184.     ULONG    EPS_Length            ; Length of sample
  185.     ULONG    EPS_Repeat            ; Repeat
  186.     ULONG    EPS_Replen            ; Replen
  187.     ULONG    EPS_Period            ; default Sampleperiod
  188.     ULONG    EPS_Volume            ; default Volume
  189.     UWORD    EPS_Finetune            ; Finetune
  190.     UWORD    EPS_Type            ; SampleType
  191.     UWORD    EPS_Flags            ; Flags for this Samplestructure
  192.     UWORD    EPS_MaxNameLen            ; max Namelength
  193.  
  194.     LABEL    EPS_SizeOF            ; to be extended !!!!!!
  195.  
  196.  
  197.  
  198. *------------------------------- Sample types ------------------------------*
  199. USITY_RAW        EQU    0
  200. USITY_IFF        EQU    1
  201. USITY_FMSynth        EQU    2
  202. USITY_AMSynth        EQU    3
  203. USITY_Unknown        EQU    4
  204.  
  205. *--------------- Sample-Flags for one SampleInfo-TagStructure --------------*
  206. USIF_Playable        EQU    0
  207. USIF_Saveable        EQU    1
  208.  
  209. USIB_Playable        EQU    1<<USIF_Playable
  210. USIB_Saveable        EQU    1<<USIF_Saveable
  211.  
  212.  
  213.  
  214.  
  215. *-------------------------- Eagleplayer-PatternInfo ------------------------*
  216.  
  217.  Structure EP_Patterninfo,0
  218.     UWORD    PI_NumPatts        ;Overall Number of Patterns
  219.     UWORD    PI_Pattern        ;Current Pattern (from 0)
  220.     UWORD    PI_Pattpos        ;Current Position in Pattern (from 0)
  221.     UWORD    PI_Songpos        ;Position in Song (from 0)
  222.     UWORD    PI_MaxSongPos        ;Songlengh
  223.     UWORD    PI_BPM            ;Beats per Minute
  224.     UWORD    PI_Speed        ;Speed
  225.     UWORD    PI_Pattlength        ;Length of Actual Pattern in Rows
  226.     UWORD    PI_Voices        ;Number of Voices (Patternstripes)
  227.     ULONG    PI_Modulo        ;Range from one note to the next
  228.     APTR    PI_Convert        ;Converts Note (a0)
  229.                     ;to Period (D0),Samplenumber (D1),
  230.                     ;Commandstring (D2) and Argument (D3)
  231.     LABEL    PI_Stripes        ;Address of first Patternstripe,
  232.                     ;followed by the next one etc. of
  233.                     ;current pattern
  234.  
  235.  
  236. *--------- User-Program-Structure (every player should be use this) ---------*
  237. *--------------- no Taglist used for higher access speed --------------------*
  238. * how to use:                                                                *
  239. * the player sets everytime it accesses the audio-hardware these following   *
  240. * values ; the UPS_VoiceXPer is most important, is it 0 means it that no new *
  241. * note was played, is it different from 0 , all current Userprograms use this* 
  242. * as a new note ; the minimum to see something in the analyzers is period in *
  243. * connection with Volume (should be easy), additionally Address and Length   *
  244. * are recommended for the Quadra/Stereo/MonoScope ; don`t forget to set the  *
  245. * flags, see below                                                           *
  246.  
  247.  STRUCTURE UPS_USER,0
  248.                         ;for Voice 1
  249.     APTR    UPS_Voice1Adr            ;Adr of Samplestart
  250.     UWORD    UPS_Voice1Len            ;Size of Sample
  251.     UWORD    UPS_Voice1Per            ;Periode of Sample
  252.     UWORD    UPS_Voice1Vol            ;Volume of Sample
  253.     UWORD    UPS_Voice1Note            ;Note (unused)
  254.     UWORD    UPS_Voice1SampleNr        ;SampleNr
  255.     UWORD    UPS_Voice1SampleType        ;SampleType
  256.     UWORD    UPS_Voice1Repeat        ;Repeat on
  257.  
  258.     LABEL    UPS_Modulo            ;MemSize for one Voice
  259.  
  260.                         ;for Voice2
  261.     APTR    UPS_Voice2Adr            ;Adr of Samplestart
  262.     UWORD    UPS_Voice2Len            ;Length of Sample
  263.     UWORD    UPS_Voice2Per            ;Periode of Sample
  264.     UWORD    UPS_Voice2Vol            ;Volume of Sample
  265.     UWORD    UPS_Voice2Note            ;Note (unused)
  266.     UWORD    UPS_Voice2SampleNr        ;SampleNr
  267.     UWORD    UPS_Voice2SampleType        ;SampleType
  268.     UWORD    UPS_Voice2Repeat        ;Repeat on
  269.  
  270.                         ;for Voice3
  271.     APTR    UPS_Voice3Adr            ;Adr of Samplestart
  272.     UWORD    UPS_Voice3Len            ;Length of Sample
  273.     UWORD    UPS_Voice3Per            ;Periode of Sample
  274.     UWORD    UPS_Voice3Vol            ;Volume of Sample
  275.     UWORD    UPS_Voice3Note            ;Note (unused)
  276.     UWORD    UPS_Voice3SampleNr        ;SampleNr
  277.     UWORD    UPS_Voice3SampleType        ;SampleType
  278.     UWORD    UPS_Voice3Repeat        ;Repeat on
  279.  
  280.                         ;for Voice4
  281.     APTR    UPS_Voice4Adr            ;Adr of Samplestart
  282.     UWORD    UPS_Voice4Len            ;Length of Sample
  283.     UWORD    UPS_Voice4Per            ;Periode of Sample
  284.     UWORD    UPS_Voice4Vol            ;Volume of Sample
  285.     UWORD    UPS_Voice4Note            ;Note (unused)
  286.     UWORD    UPS_Voice4SampleNr        ;SampleNr
  287.     UWORD    UPS_Voice4SampleType        ;SampleType
  288.     UWORD    UPS_Voice4Repeat        ;Repeat on
  289.  
  290.     UWORD    UPS_DMACon            ;Voices on/off 15=all on
  291.                         ;Name irritating, better was
  292.                         ;VoicesStaus, Use like the
  293.                         ;real Dmacon, Bit x set,
  294.                         ;Voice x on
  295.  
  296.     UWORD    UPS_Flags            ;Flags , see below
  297.     UWORD    UPS_Enabled            ;Zero = Read enabled
  298.     UWORD    UPS_Reserved            ;unused
  299.  
  300.     LABEL    UPS_SizeOF
  301.  
  302. *--------------------------- Flags to UPS_Flags ---------------------------*
  303. * these Flags tell, which analyzerfunctions the actual player is able to do*
  304.  
  305. UPSFL_Adr    EQU    0        ;submits Sampleaddress
  306. UPSFL_Len    EQU    1        ;submits Samplesize
  307. UPSFL_Per    EQU    2        ;submits Period (important !)
  308. UPSFL_Vol    EQU    3        ;submits Volume
  309. UPSFL_Note    EQU    4        ;corrently not used
  310. UPSFL_SNr    EQU    5        ;corrently not used
  311. UPSFL_STy    EQU    6        ;corrently not used
  312. UPSFL_DMACon    EQU    7        ;submits which Voices are on/off
  313. UPSFL_Res    EQU    8
  314.  
  315. UPSB_Adr    EQU    1<<UPSFL_Adr
  316. UPSB_Len    EQU    1<<UPSFL_Len
  317. UPSB_Per    EQU    1<<UPSFL_Per
  318. UPSB_Vol    EQU    1<<UPSFL_Vol
  319. UPSB_Note    EQU    1<<UPSFL_Note
  320. UPSB_SNr    EQU    1<<UPSFL_SNr
  321. UPSB_STy    EQU    1<<UPSFL_STy
  322. UPSB_DMACon    EQU    1<<UPSFL_DMACon
  323. UPSB_Res    EQU    1<<UPSFL_Res
  324.  
  325.  
  326.  
  327.  
  328. *-------- Errornumbers for Tags with Error-Returns, for UserPrograms -------*
  329. *-------- & for Subprograms (e.g. EPG_NewLoadFile)             -------*
  330. EPR_UnknownFormat    EQU    1
  331. EPR_FileNotFound    EQU    2
  332. EPR_ErrorInFile        EQU    3
  333. EPR_NotEnoughMem    EQU    4
  334. EPR_CorruptModule    EQU    5
  335. EPR_ErrorInstallPlayer    EQU    6
  336. EPR_EagleRunning    EQU    7
  337. EPR_CantAllocCia    EQU    8
  338. EPR_CantAllocAudio    EQU    9
  339. EPR_CantFindReq        EQU    10
  340. EPR_NoModuleLoaded    EQU    11
  341. EPR_ErrorInString    EQU    12
  342. EPR_CantAllocSerial    EQU    13
  343. EPR_ErrorDecrunching    EQU    14
  344. EPR_ErrorExtLoad    EQU    15
  345. EPR_ErrorAddPlayer    EQU    16
  346. EPR_SaveError        EQU    17
  347. EPR_LoadError        EQU    18
  348. EPR_CantOpenWin        EQU    19
  349. EPR_PlayerExists    EQU    20
  350. EPR_WriteError        EQU    21
  351. EPR_XPKError        EQU    22
  352. EPR_XPKMasterNotFound    EQU    23
  353. EPR_PPNotFound        EQU    24
  354. EPR_LHNotFound        EQU    25
  355. EPR_ErrorAddUserPrg    EQU    26
  356. EPR_NoMoreUserPrgs    EQU    27
  357. EPR_ModuleTooShort    EQU    28
  358. EPR_CantDeletingPlayer    EQU    29
  359. EPR_ErrorLoadingInstruments EQU    30
  360. EPR_NoMoreEntries    EQU    31
  361. EPR_ErrorLoadingDir    EQU    32
  362. EPR_DirIsEmpty        EQU    33
  363. EPR_BufferFull        EQU    34
  364. EPR_UnknownError    EQU    35
  365. EPR_FunctionNotEnabled    EQU    36
  366. EPR_Passwordfailed    EQU    37
  367. EPR_CommandError    EQU    38
  368. EPR_ErrorInArguments    EQU    39
  369. EPR_NotImplemented    EQU    40
  370. EPR_FileIsNotExecutable    EQU    41
  371. EPR_NotEnoughArguments    EQU    42
  372. EPR_Functionaborted    EQU    43
  373. EPR_InvalidNr        EQU    44
  374. EPR_FileReqCancelled    EQU    45
  375. EPR_ErrorDeletingFile    EQU    46
  376. EPR_ErrorLoadingFont    EQU    47
  377. EPR_NeedHigherKickstart    EQU    48
  378. EPR_CrunchAborted    EQU    49
  379. EPR_DirNotChanged    EQU    50
  380. EPR_NoHelpFile        EQU    51
  381. EPR_CrmNotFound        EQU    52
  382. EPR_CantFindReqTools    EQU    53
  383. EPR_CantFindASL        EQU    54
  384. EPR_CantLoadLHA        EQU    55
  385. EPR_UserprogramNotFound    EQU    56
  386.  
  387. EPR_LastError        EQU    56
  388.  
  389. *------------------------ Check-Module-Errornumbers ------------------------*
  390. EPRS_LengthTooLong    EQU    1
  391. EPRS_ReplayerCorrupt    EQU    2
  392. EPRS_PeriodTableDestroyed EQU    3
  393. EPRS_SamplesTooSmall    EQU    4
  394. EPRS_ModDatasTooSmall    EQU    5
  395. EPRS_CorruptSamples    EQU    6
  396. EPRS_InkorrectSpeed    EQU    7
  397. EPRS_InkorrectTiming    EQU    8
  398. EPRS_TooManySubSongs    EQU    9
  399. EPRS_NotImplmentedCommand    EQU    10
  400. EPRS_FilesNotFound    EQU    11
  401. EPRS_AdressError    EQU    12
  402. EPRS_WrongArgs        EQU    13
  403.  
  404. *------------------------------ Global Variables ----------------------------*
  405.  STRUCTURE EaglePlayerGlobals,0
  406.  
  407.     STRUCT    OLDDeliTrackerGlobals,dtg_Reserved3+4
  408.     FPTR    EPG_FTPRReserved1
  409.     FPTR    EPG_FTPRReserved2
  410.     FPTR    EPG_FTPRReserved3
  411.     FPTR    EPG_SaveMem        ;Save Mem to Disk
  412.     FPTR    EPG_FileRequest        ;FileRequester
  413.     FPTR    EPG_TextRequest        ;Own Textrequester
  414.     FPTR    EPG_LoadExecutable    ;Load % Decrunch
  415.     FPTR    EPG_NewLoadFile        ;new DTG_LoadFile with Parameters
  416.     FPTR    EPG_ScrollText        ;Scroll Text
  417.     FPTR    EPG_LoadPlConfig    ;Loads a Config from Env:Eagleplayer/..
  418.     FPTR    EPG_SavePlConfig    ;Saves a Config to EnvArc:Eagleplayer/..
  419.     FPTR    EPG_FindTag        ;Finds a Tag in Tagliste
  420.     FPTR    EPG_FindAuthor        ;Find Authorname for Soundtracker-
  421.                     ;compatibles
  422.     FPTR    EPG_Hexdez        ;Convert Dual to Dezimal (Ascii)
  423.     FPTR    EPG_TypeText        ;Print Text into the Mainwindow
  424.     FPTR    EPG_ModuleChange    ;Change Playroutine in Module
  425.     FPTR    EPG_ModuleRestore    ;Restore Playroutine in Module
  426.  
  427.     FPTR    EPG_FTPRReserved8    ;dont't use !!!
  428.  
  429.     APTR    EPG_XPKBase        ;librarybase (don`t close) or zero
  430.     APTR    EPG_LHBase        ;librarybase (don`t close) or zero
  431.     APTR    EPG_PPBase        ;librarybase (don`t close) or zero
  432.     APTR    EPG_DiskFontBase    ;librarybase (don`t close) or zero
  433.     APTR    EPG_ReqToolsBase    ;librarybase (don`t close) or zero
  434.     APTR    EPG_ReqBase        ;librarybase (don`t close) or zero
  435.     APTR    EPG_XFDMasterBase    ;librarybase (don`t close) or zero
  436.     APTR    EPG_WorkBenchBase    ;librarybase (don`t close) or zero
  437.     APTR    EPG_RexxSysBase        ;librarybase (don`t close) or zero
  438.     APTR    EPG_CommoditiesBase    ;librarybase (don`t close) or zero
  439.     APTR    EPG_IconBase        ;librarybase (don`t close) or zero
  440.     APTR    EPG_LocaleBase        ;librarybase (don`t close) or zero
  441.  
  442.     APTR    EPG_WinHandle        ;MainWindow or zero (don`t close)
  443.     APTR    EPG_PlWinHandle        ;PlayerWindow or zero (don`t close)
  444.     APTR    EPG_MiWinHandle        ;ModuleInfoWindow or zero (don`t close)
  445.     APTR    EPG_SiWinHandle        ;SampleInfoWindow or zero (don`t close)
  446.     APTR    EPG_ReservedWinHandle    ;zero (don`t use)
  447.     APTR    EPG_Reserved2WinHandle    ;zero (don`t use)
  448.  
  449.     APTR    EPG_PubScreen        ;Pointer to PubScreenname or zero
  450.     APTR    EPG_CiaBBase        ;Ciab.Resource-Base or zero
  451.     APTR    EPG_UPS_Structure    ;Private UPS_Structure, don't change
  452.     APTR    EPG_ModuleInfoTagList    ;Pointer to ModuleInfo-TagList
  453.     APTR    EPG_APTRReserved3
  454.  
  455.     LONG    EPG_Identifier        ;Longword="EPGL" --> Eagleplayer used
  456.     LONG    EPG_EagleVersion
  457.     WORD    EPG_Speed
  458.  
  459.     LONG    EPG_ARGN            ;Anz. of Parameters
  460.  
  461.     LONG    EPG_ARG1        ;\
  462.     LONG    EPG_ARG2        ; \
  463.     LONG    EPG_ARG3        ;  \    Parameter-Buffer for SubProggys
  464.     LONG    EPG_ARG4        ;   \_\ You must use this. You must set
  465.     LONG    EPG_ARG5        ;   / /    ArgN (max. used Parameters)
  466.     LONG    EPG_ARG6        ;  /    --> New SubProggys can use
  467.     LONG    EPG_ARG7        ; /    more Parameters !!!!
  468.     LONG    EPG_ARG8        ;/ don`t use in interrupts !!!!
  469.  
  470.     UWORD    EPG_Voices
  471.  
  472.     UWORD    EPG_Voice1Vol
  473.     UWORD    EPG_Voice2Vol
  474.     UWORD    EPG_Voice3Vol
  475.     UWORD    EPG_Voice4Vol
  476.     UWORD    EPG_Voice5Vol        ;unused
  477.     UWORD    EPG_Voice6Vol        ;unused
  478.     UWORD    EPG_Voice7Vol        ;unused
  479.     UWORD    EPG_Voice8Vol        ;unused
  480.  
  481.     ULONG    EPG_SomePrefs        ;Bits you find above the Globals
  482.     ULONG    EPG_Timeout        ;Timeout in Secs ; 0 = No Timeout
  483.  
  484.     WORD    EPG_FirstSnd    ;first Subsong Nr. (-1 for unknown)
  485.     WORD    EPG_SubSongs    ;Subsong Range (-1 for unknown)
  486.     ULONG    EPG_MODNr    ;Actual Module in List (Nr) ; 0 = No Mod.
  487.     ULONG    EPG_MODS    ;Number of Modules in List (Nr); 0 = No List
  488.  
  489.     APTR    EPG_PlayerTagList    ;Pointer to actual PlayerTaglist
  490.     APTR    EPG_TextFont        ;Pointer to actual Font-Structure
  491.  
  492.     UWORD    EPG_DVoice1Vol
  493.     UWORD    EPG_DVoice2Vol
  494.     UWORD    EPG_DVoice3Vol
  495.     UWORD    EPG_DVoice4Vol
  496.     UWORD    EPG_DVoice5Vol        ;unused
  497.     UWORD    EPG_DVoice6Vol        ;unused
  498.     UWORD    EPG_DVoice7Vol        ;unused
  499.     UWORD    EPG_DVoice8Vol        ;unused
  500.  
  501.     WORD    EPG_DefTimer
  502.     WORD    EPG_CurrentPosition
  503.     WORD    EPG_WORDReserved3
  504.     WORD    EPG_WORDReserved4
  505.     WORD    EPG_WORDReserved5
  506.     WORD    EPG_WORDReserved6
  507.     WORD    EPG_WORDReserved7
  508.     WORD    EPG_WORDReserved8
  509.  
  510.     LONG    EPG_Dirs
  511.     LONG    EPG_LoadedFiles        ;loaded files by DTG/EPG_LoadFile
  512.     APTR    EPG_AppPort
  513.     APTR    EPG_SampleInfoStructure    ;call first UCM_Sampleinit !!!!
  514.  
  515.     LONG    EPG_MinTimeOut
  516.     LONG    EPG_CurrentTime        ;Current Playtime
  517.     LONG    EPG_Duration        ;Duration
  518.     LONG    EPG_FirstUserStruct
  519.     LONG    EPG_FirstFileStruct
  520.     LONG    EPG_Entries
  521.     APTR    EPG_LongReserved7
  522.     APTR    EPG_LongReserved8
  523.     APTR    EPG_LongReserved9
  524.     APTR    EPG_LongReserved10
  525.  
  526.     LABEL    EPG_SizeOf        ;to be extended
  527.  
  528.  
  529.     *------------- Eagleplayer Globals Preferences-Flags ------------*
  530. EGPRF_Fadein        EQU    0
  531. EGPRF_Fadeout        EQU    1
  532. EGPRF_Songend        EQU    2
  533. EGPRF_Loadnext        EQU    3
  534. EGPRF_Randommodule    EQU    4
  535. EGPRF_Mastervolume    EQU    5
  536. EGPRF_NowPlay        EQU    6
  537. EGPRF_Surfacequit    EQU    7
  538. EGPRF_LoadPrev        EQU    8
  539. EGPRF_PausePlay        EQU    9
  540. EGPRF_LoadFast        EQU    10
  541. EGPRF_CalcDuration    EQU    11
  542. EGPRF_AllocChannels    EQU    12
  543. EGPRF_SoftInt        EQU    13
  544.  
  545. EGPRB_Fadein        EQU    1<<EGPRF_Fadein
  546. EGPRB_Fadeout        EQU    1<<EGPRF_Fadeout
  547. EGPRB_Songend        EQU    1<<EGPRF_Songend
  548. EGPRB_Loadnext        EQU    1<<EGPRF_Loadnext
  549. EGPRB_Randommodule    EQU    1<<EGPRF_Randommodule
  550. EGPRB_Mastervolume    EQU    1<<EGPRF_Mastervolume
  551. EGPRB_NowPlay        EQU    1<<EGPRF_NowPlay
  552. EGPRB_Surfacequit    EQU    1<<EGPRF_Surfacequit
  553. EGPRB_LoadPrev        EQU    1<<EGPRF_LoadPrev
  554. EGPRB_PausePlay        EQU    1<<EGPRF_PausePlay
  555. EGPRB_LoadFast        EQU    1<<EGPRF_LoadFast
  556. EGPRB_CalcDuration    EQU    1<<EGPRF_CalcDuration
  557. EGPRB_AllocChannels    EQU    1<<EGPRF_AllocChannels
  558. EGPRB_SoftInt        EQU    1<<EGPRF_SoftInt
  559.  
  560.  
  561.  
  562. *----------------------- Extended GlobalJumps -----------------------------*
  563. *-- This structure is the negative buffer relative to a5 (Basisregister) --*
  564. *--------------------------------------------------------------------------*
  565.  
  566.  STRUCTURE NEWEP_GLOBALS,-6
  567.         STRUCT    ENPP_AllocSampleStruct,-6
  568.         STRUCT    ENPP_NewLoadFile2,-6    ;You must Freemem it !!!
  569.         STRUCT    ENPP_MakeDirCorrect,-6
  570.         STRUCT    ENPP_TestAufHide,-6
  571.         STRUCT    ENPP_ClearCache,-6
  572.         STRUCT    ENPP_CopyMemQuick,-6
  573.         STRUCT    ENPP_GetPassword,-6
  574.         STRUCT    ENPP_StringCopy2,-6
  575.         STRUCT    ENPP_ScreenToFront,-6
  576.         STRUCT    ENPP_WindowToFront,-6
  577.  
  578.     *--------- old DeliTracker-Globals ---------*
  579.         STRUCT    ENPP_GetListData,-6
  580.         STRUCT    ENPP_LoadFile,-6
  581.         STRUCT    ENPP_CopyDir,-6
  582.         STRUCT    ENPP_CopyFile,-6
  583.         STRUCT    ENPP_CopyString,-6
  584.         STRUCT    ENPP_AllocAudio,-6
  585.         STRUCT    ENPP_FreeAudio,-6
  586.         STRUCT    ENPP_StartInterrupt,-6
  587.         STRUCT    ENPP_StopInterrupt,-6
  588.         STRUCT    ENPP_SongEnd,-6
  589.         STRUCT    ENPP_CutSuffix,-6
  590.         STRUCT    ENPP_SetTimer2,-6
  591.         STRUCT    ENPP_WaitAudioDMA,-6
  592.  
  593.     *--------- old EaglePlayer-Globals --------*
  594.         STRUCT    ENPP_SaveMem,-6
  595.         STRUCT    ENPP_FileReq,-6
  596.         STRUCT    ENPP_TextRequest,-6
  597.         STRUCT    ENPP_LoadExecutable,-6
  598.         STRUCT    ENPP_NewLoadFile,-6
  599.         STRUCT    ENPP_ScrollText,-6
  600.         STRUCT    ENPP_LoadPlConfig,-6
  601.         STRUCT    ENPP_SavePlConfig,-6
  602.         STRUCT    ENPP_FindTag,-6
  603.         STRUCT    ENPP_FindAuthor,-6
  604.  
  605.         STRUCT    ENPP_Hexdez,-6
  606.         STRUCT    ENPP_TypeText,-6
  607.         STRUCT    ENPP_ModuleChange,-6
  608.         STRUCT    ENPP_ModuleRestore,-6
  609.  
  610.         STRUCT    ENPP_StringCopy,-6
  611.         STRUCT    ENPP_CalcStringSize,-6
  612.         STRUCT    ENPP_StringCMP,-6
  613.  
  614.         STRUCT    ENPP_Open,-6
  615.         STRUCT    ENPP_Read1,-6        ;EP-AllocMem
  616.         STRUCT    ENPP_Read2,-6        ;Own AllocMem
  617.         STRUCT    ENPP_Seek,-6
  618.         STRUCT    ENPP_Close,-6
  619.  
  620.         STRUCT    ENPP_GetCatalogString,-6
  621.         STRUCT    ENPP_GetCatalogStringPuffer,-6
  622.         STRUCT    ENPP_GetCatalogStringAdr,-6
  623.         STRUCT    ENPP_GetCatalogScrollString,-6
  624.  
  625.         LABEL    ENPP_SizeOf        ;to be extended !!!
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633. *------------- Eagleplayer GadgetStrukture for EPP_Textrequest -------------*
  634.  STRUCTURE EPGG_Gadget,0
  635.         APTR    EPGG_NextGadget
  636.         APTR    EPGG_GadgetName
  637.         UBYTE    EPGG_Keys1
  638.         UBYTE    EPGG_Keys2
  639.         UBYTE    EPGG_Keys3
  640.         UBYTE    EPGG_Keys4
  641.  
  642.  
  643.  
  644. *----------------------------- Ron Klaren Header -----------------------------*
  645. KLARENHEADER MACRO
  646.     moveq    #-1,d0                ; this should return an error
  647.     rts                    ; in case someone tried to
  648.                         ; run it
  649.     dc.l    \1                ; Size of Ron Klaren Module,im-
  650.                         ; portant !!!
  651.     dc.b    "RON_KLAREN_SOUNDMODULE!",0    ; identifier
  652.     ENDM
  653.  
  654.  
  655.     ENDC    ; EAGLEPLAYER_I
  656.  
  657.