home *** CD-ROM | disk | FTP | other *** search
/ YPA: Your Privacy Assured / YPA.ISO / other_goodies / music / ep154b_1.dms / ep154b_1.adf / EagleplayerDeveloper / Include / misc / EaglePlayer.i < prev    next >
Text File  |  1995-01-17  |  20KB  |  664 lines

  1. **
  2. **  $Filename: misc/EaglePlayer.i
  3. **  $Release: 1.52 $
  4. **  $Revision: 12$
  5. **  $Date: 03/23/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    9            ;Current Version of EaglePlayer
  24. ;9=V1.53
  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.     EITEM    MI_Soundsystem            ;Soundsystem Name
  165.                         ;(for multiple players)
  166.     EITEM    MI_Mixingrate            ;Mixingfrequency
  167.     EITEM    MI_Volumeboost            ;Volume Boost
  168.     EITEM    MI_Playmode            ;Playing Mode
  169.                         ;(mono,stereo,14 bit etc.
  170.                         ;as STRING !!)
  171.  
  172.  
  173. *--------- Unpacked Soundsystems (intern), more follow --------------------*
  174. MIUS_OldSoundTracker    EQU    1
  175. MIUS_SoundTracker    EQU    2
  176. MIUS_NoiseTracker    EQU    3
  177. MIUS_ProTracker        EQU    4
  178. MIUS_SizeOF        EQU    4
  179.  
  180.  
  181.  
  182.  
  183.  
  184. *------------------------------ Sample-Info Tags --------------------------*
  185.  
  186.  STRUCTURE EP_Sampletable,0
  187.  
  188.     APTR    EPS_NextSample            ; Next SampleTag-Structure
  189.     APTR    EPS_SampleName            ; Name of Sample
  190.     ULONG    EPS_Adr                ; Adr of sample
  191.     ULONG    EPS_Length            ; Length of sample
  192.     ULONG    EPS_Repeat            ; Repeat
  193.     ULONG    EPS_Replen            ; Replen
  194.     ULONG    EPS_Period            ; default Sampleperiod
  195.     ULONG    EPS_Volume            ; default Volume
  196.     UWORD    EPS_Finetune            ; Finetune
  197.     UWORD    EPS_Type            ; SampleType
  198.     UWORD    EPS_Flags            ; Flags for this Samplestructure
  199.     UWORD    EPS_MaxNameLen            ; max Namelength
  200.  
  201.     LABEL    EPS_SizeOF            ; to be extended !!!!!!
  202.  
  203.  
  204.  
  205. *------------------------------- Sample types ------------------------------*
  206. USITY_RAW        EQU    0
  207. USITY_IFF        EQU    1
  208. USITY_FMSynth        EQU    2
  209. USITY_AMSynth        EQU    3
  210. USITY_Unknown        EQU    4
  211.  
  212. *--------------- Sample-Flags for one SampleInfo-TagStructure --------------*
  213. USIF_Playable        EQU    0
  214. USIF_Saveable        EQU    1
  215.  
  216. USIB_Playable        EQU    1<<USIF_Playable
  217. USIB_Saveable        EQU    1<<USIF_Saveable
  218.  
  219.  
  220.  
  221.  
  222. *-------------------------- Eagleplayer-PatternInfo ------------------------*
  223.  
  224.  Structure EP_Patterninfo,0
  225.     UWORD    PI_NumPatts        ;Overall Number of Patterns
  226.     UWORD    PI_Pattern        ;Current Pattern (from 0)
  227.     UWORD    PI_Pattpos        ;Current Position in Pattern (from 0)
  228.     UWORD    PI_Songpos        ;Position in Song (from 0)
  229.     UWORD    PI_MaxSongPos        ;Songlengh
  230.     UWORD    PI_BPM            ;Beats per Minute
  231.     UWORD    PI_Speed        ;Speed
  232.     UWORD    PI_Pattlength        ;Length of Actual Pattern in Rows
  233.     UWORD    PI_Voices        ;Number of Voices (Patternstripes)
  234.     ULONG    PI_Modulo        ;Range from one note to the next
  235.     APTR    PI_Convert        ;Converts Note (a0)
  236.                     ;to Period (D0),Samplenumber (D1),
  237.                     ;Commandstring (D2) and Argument (D3)
  238.     LABEL    PI_Stripes        ;Address of first Patternstripe,
  239.                     ;followed by the next one etc. of
  240.                     ;current pattern
  241.  
  242.  
  243. *--------- User-Program-Structure (every player should be use this) ---------*
  244. *--------------- no Taglist used for higher access speed --------------------*
  245. * how to use:                                                                *
  246. * the player sets everytime it accesses the audio-hardware these following   *
  247. * values ; the UPS_VoiceXPer is most important, is it 0 means it that no new *
  248. * note was played, is it different from 0 , all current Userprograms use this* 
  249. * as a new note ; the minimum to see something in the analyzers is period in *
  250. * connection with Volume (should be easy), additionally Address and Length   *
  251. * are recommended for the Quadra/Stereo/MonoScope ; don`t forget to set the  *
  252. * flags, see below                                                           *
  253.  
  254.  STRUCTURE UPS_USER,0
  255.                         ;for Voice 1
  256.     APTR    UPS_Voice1Adr            ;Adr of Samplestart
  257.     UWORD    UPS_Voice1Len            ;Size of Sample
  258.     UWORD    UPS_Voice1Per            ;Periode of Sample
  259.     UWORD    UPS_Voice1Vol            ;Volume of Sample
  260.     UWORD    UPS_Voice1Note            ;Note (unused)
  261.     UWORD    UPS_Voice1SampleNr        ;SampleNr
  262.     UWORD    UPS_Voice1SampleType        ;SampleType
  263.     UWORD    UPS_Voice1Repeat        ;Repeat on
  264.  
  265.     LABEL    UPS_Modulo            ;MemSize for one Voice
  266.  
  267.                         ;for Voice2
  268.     APTR    UPS_Voice2Adr            ;Adr of Samplestart
  269.     UWORD    UPS_Voice2Len            ;Length of Sample
  270.     UWORD    UPS_Voice2Per            ;Periode of Sample
  271.     UWORD    UPS_Voice2Vol            ;Volume of Sample
  272.     UWORD    UPS_Voice2Note            ;Note (unused)
  273.     UWORD    UPS_Voice2SampleNr        ;SampleNr
  274.     UWORD    UPS_Voice2SampleType        ;SampleType
  275.     UWORD    UPS_Voice2Repeat        ;Repeat on
  276.  
  277.                         ;for Voice3
  278.     APTR    UPS_Voice3Adr            ;Adr of Samplestart
  279.     UWORD    UPS_Voice3Len            ;Length of Sample
  280.     UWORD    UPS_Voice3Per            ;Periode of Sample
  281.     UWORD    UPS_Voice3Vol            ;Volume of Sample
  282.     UWORD    UPS_Voice3Note            ;Note (unused)
  283.     UWORD    UPS_Voice3SampleNr        ;SampleNr
  284.     UWORD    UPS_Voice3SampleType        ;SampleType
  285.     UWORD    UPS_Voice3Repeat        ;Repeat on
  286.  
  287.                         ;for Voice4
  288.     APTR    UPS_Voice4Adr            ;Adr of Samplestart
  289.     UWORD    UPS_Voice4Len            ;Length of Sample
  290.     UWORD    UPS_Voice4Per            ;Periode of Sample
  291.     UWORD    UPS_Voice4Vol            ;Volume of Sample
  292.     UWORD    UPS_Voice4Note            ;Note (unused)
  293.     UWORD    UPS_Voice4SampleNr        ;SampleNr
  294.     UWORD    UPS_Voice4SampleType        ;SampleType
  295.     UWORD    UPS_Voice4Repeat        ;Repeat on
  296.  
  297.     UWORD    UPS_DMACon            ;Voices on/off 15=all on
  298.                         ;Name irritating, better was
  299.                         ;VoicesStaus, Use like the
  300.                         ;real Dmacon, Bit x set,
  301.                         ;Voice x on
  302.  
  303.     UWORD    UPS_Flags            ;Flags , see below
  304.     UWORD    UPS_Enabled            ;Zero = Read enabled
  305.     UWORD    UPS_Reserved            ;unused
  306.  
  307.     LABEL    UPS_SizeOF
  308.  
  309. *--------------------------- Flags to UPS_Flags ---------------------------*
  310. * these Flags tell, which analyzerfunctions the actual player is able to do*
  311.  
  312. UPSFL_Adr    EQU    0        ;submits Sampleaddress
  313. UPSFL_Len    EQU    1        ;submits Samplesize
  314. UPSFL_Per    EQU    2        ;submits Period (important !)
  315. UPSFL_Vol    EQU    3        ;submits Volume
  316. UPSFL_Note    EQU    4        ;corrently not used
  317. UPSFL_SNr    EQU    5        ;corrently not used
  318. UPSFL_STy    EQU    6        ;corrently not used
  319. UPSFL_DMACon    EQU    7        ;submits which Voices are on/off
  320. UPSFL_Res    EQU    8
  321.  
  322. UPSB_Adr    EQU    1<<UPSFL_Adr
  323. UPSB_Len    EQU    1<<UPSFL_Len
  324. UPSB_Per    EQU    1<<UPSFL_Per
  325. UPSB_Vol    EQU    1<<UPSFL_Vol
  326. UPSB_Note    EQU    1<<UPSFL_Note
  327. UPSB_SNr    EQU    1<<UPSFL_SNr
  328. UPSB_STy    EQU    1<<UPSFL_STy
  329. UPSB_DMACon    EQU    1<<UPSFL_DMACon
  330. UPSB_Res    EQU    1<<UPSFL_Res
  331.  
  332.  
  333.  
  334.  
  335. *-------- Errornumbers for Tags with Error-Returns, for UserPrograms -------*
  336. *-------- & for Subprograms (e.g. EPG_NewLoadFile)             -------*
  337. EPR_UnknownFormat    EQU    1
  338. EPR_FileNotFound    EQU    2
  339. EPR_ErrorInFile        EQU    3
  340. EPR_NotEnoughMem    EQU    4
  341. EPR_CorruptModule    EQU    5
  342. EPR_ErrorInstallPlayer    EQU    6
  343. EPR_EagleRunning    EQU    7
  344. EPR_CantAllocCia    EQU    8
  345. EPR_CantAllocAudio    EQU    9
  346. EPR_CantFindReq        EQU    10
  347. EPR_NoModuleLoaded    EQU    11
  348. EPR_ErrorInString    EQU    12
  349. EPR_CantAllocSerial    EQU    13
  350. EPR_ErrorDecrunching    EQU    14
  351. EPR_ErrorExtLoad    EQU    15
  352. EPR_ErrorAddPlayer    EQU    16
  353. EPR_SaveError        EQU    17
  354. EPR_LoadError        EQU    18
  355. EPR_CantOpenWin        EQU    19
  356. EPR_PlayerExists    EQU    20
  357. EPR_WriteError        EQU    21
  358. EPR_XPKError        EQU    22
  359. EPR_XPKMasterNotFound    EQU    23
  360. EPR_PPNotFound        EQU    24
  361. EPR_LHNotFound        EQU    25
  362. EPR_ErrorAddUserPrg    EQU    26
  363. EPR_NoMoreUserPrgs    EQU    27
  364. EPR_ModuleTooShort    EQU    28
  365. EPR_CantDeletingPlayer    EQU    29
  366. EPR_ErrorLoadingInstruments EQU    30
  367. EPR_NoMoreEntries    EQU    31
  368. EPR_ErrorLoadingDir    EQU    32
  369. EPR_DirIsEmpty        EQU    33
  370. EPR_BufferFull        EQU    34
  371. EPR_UnknownError    EQU    35
  372. EPR_FunctionNotEnabled    EQU    36
  373. EPR_Passwordfailed    EQU    37
  374. EPR_CommandError    EQU    38
  375. EPR_ErrorInArguments    EQU    39
  376. EPR_NotImplemented    EQU    40
  377. EPR_FileIsNotExecutable    EQU    41
  378. EPR_NotEnoughArguments    EQU    42
  379. EPR_Functionaborted    EQU    43
  380. EPR_InvalidNr        EQU    44
  381. EPR_FileReqCancelled    EQU    45
  382. EPR_ErrorDeletingFile    EQU    46
  383. EPR_ErrorLoadingFont    EQU    47
  384. EPR_NeedHigherKickstart    EQU    48
  385. EPR_CrunchAborted    EQU    49
  386. EPR_DirNotChanged    EQU    50
  387. EPR_NoHelpFile        EQU    51
  388. EPR_CrmNotFound        EQU    52
  389. EPR_CantFindReqTools    EQU    53
  390. EPR_CantFindASL        EQU    54
  391. EPR_CantLoadLHA        EQU    55
  392. EPR_UserprogramNotFound    EQU    56
  393.  
  394. EPR_LastError        EQU    56
  395.  
  396. *------------------------ Check-Module-Errornumbers ------------------------*
  397. EPRS_LengthTooLong    EQU    1
  398. EPRS_ReplayerCorrupt    EQU    2
  399. EPRS_PeriodTableDestroyed EQU    3
  400. EPRS_SamplesTooSmall    EQU    4
  401. EPRS_ModDatasTooSmall    EQU    5
  402. EPRS_CorruptSamples    EQU    6
  403. EPRS_InkorrectSpeed    EQU    7
  404. EPRS_InkorrectTiming    EQU    8
  405. EPRS_TooManySubSongs    EQU    9
  406. EPRS_NotImplmentedCommand    EQU    10
  407. EPRS_FilesNotFound    EQU    11
  408. EPRS_AdressError    EQU    12
  409. EPRS_WrongArgs        EQU    13
  410.  
  411. *------------------------------ Global Variables ----------------------------*
  412.  STRUCTURE EaglePlayerGlobals,0
  413.  
  414.     STRUCT    OLDDeliTrackerGlobals,dtg_Reserved3+4
  415.     FPTR    EPG_FTPRReserved1
  416.     FPTR    EPG_FTPRReserved2
  417.     FPTR    EPG_FTPRReserved3
  418.     FPTR    EPG_SaveMem        ;Save Mem to Disk
  419.     FPTR    EPG_FileRequest        ;FileRequester
  420.     FPTR    EPG_TextRequest        ;Own Textrequester
  421.     FPTR    EPG_LoadExecutable    ;Load % Decrunch
  422.     FPTR    EPG_NewLoadFile        ;new DTG_LoadFile with Parameters
  423.     FPTR    EPG_ScrollText        ;Scroll Text
  424.     FPTR    EPG_LoadPlConfig    ;Loads a Config from Env:Eagleplayer/..
  425.     FPTR    EPG_SavePlConfig    ;Saves a Config to EnvArc:Eagleplayer/..
  426.     FPTR    EPG_FindTag        ;Finds a Tag in Tagliste
  427.     FPTR    EPG_FindAuthor        ;Find Authorname for Soundtracker-
  428.                     ;compatibles
  429.     FPTR    EPG_Hexdez        ;Convert Dual to Dezimal (Ascii)
  430.     FPTR    EPG_TypeText        ;Print Text into the Mainwindow
  431.     FPTR    EPG_ModuleChange    ;Change Playroutine in Module
  432.     FPTR    EPG_ModuleRestore    ;Restore Playroutine in Module
  433.  
  434.     FPTR    EPG_FTPRReserved8    ;dont't use !!!
  435.  
  436.     APTR    EPG_XPKBase        ;librarybase (don`t close) or zero
  437.     APTR    EPG_LHBase        ;librarybase (don`t close) or zero
  438.     APTR    EPG_PPBase        ;librarybase (don`t close) or zero
  439.     APTR    EPG_DiskFontBase    ;librarybase (don`t close) or zero
  440.     APTR    EPG_ReqToolsBase    ;librarybase (don`t close) or zero
  441.     APTR    EPG_ReqBase        ;librarybase (don`t close) or zero
  442.     APTR    EPG_XFDMasterBase    ;librarybase (don`t close) or zero
  443.     APTR    EPG_WorkBenchBase    ;librarybase (don`t close) or zero
  444.     APTR    EPG_RexxSysBase        ;librarybase (don`t close) or zero
  445.     APTR    EPG_CommoditiesBase    ;librarybase (don`t close) or zero
  446.     APTR    EPG_IconBase        ;librarybase (don`t close) or zero
  447.     APTR    EPG_LocaleBase        ;librarybase (don`t close) or zero
  448.  
  449.     APTR    EPG_WinHandle        ;MainWindow or zero (don`t close)
  450.     APTR    EPG_PlWinHandle        ;PlayerWindow or zero (don`t close)
  451.     APTR    EPG_MiWinHandle        ;ModuleInfoWindow or zero (don`t close)
  452.     APTR    EPG_SiWinHandle        ;SampleInfoWindow or zero (don`t close)
  453.     APTR    EPG_ReservedWinHandle    ;zero (don`t use)
  454.     APTR    EPG_Reserved2WinHandle    ;zero (don`t use)
  455.  
  456.     APTR    EPG_PubScreen        ;Pointer to PubScreenname or zero
  457.     APTR    EPG_CiaBBase        ;Ciab.Resource-Base or zero
  458.     APTR    EPG_UPS_Structure    ;Private UPS_Structure, don't change
  459.     APTR    EPG_ModuleInfoTagList    ;Pointer to ModuleInfo-TagList
  460.     APTR    EPG_APTRReserved3
  461.  
  462.     LONG    EPG_Identifier        ;Longword="EPGL" --> Eagleplayer used
  463.     LONG    EPG_EagleVersion
  464.     WORD    EPG_Speed
  465.  
  466.     LONG    EPG_ARGN            ;Anz. of Parameters
  467.  
  468.     LONG    EPG_ARG1        ;\
  469.     LONG    EPG_ARG2        ; \
  470.     LONG    EPG_ARG3        ;  \    Parameter-Buffer for SubProggys
  471.     LONG    EPG_ARG4        ;   \_\ You must use this. You must set
  472.     LONG    EPG_ARG5        ;   / /    ArgN (max. used Parameters)
  473.     LONG    EPG_ARG6        ;  /    --> New SubProggys can use
  474.     LONG    EPG_ARG7        ; /    more Parameters !!!!
  475.     LONG    EPG_ARG8        ;/ don`t use in interrupts !!!!
  476.  
  477.     UWORD    EPG_Voices
  478.  
  479.     UWORD    EPG_Voice1Vol
  480.     UWORD    EPG_Voice2Vol
  481.     UWORD    EPG_Voice3Vol
  482.     UWORD    EPG_Voice4Vol
  483.     UWORD    EPG_Voice5Vol        ;unused
  484.     UWORD    EPG_Voice6Vol        ;unused
  485.     UWORD    EPG_Voice7Vol        ;unused
  486.     UWORD    EPG_Voice8Vol        ;unused
  487.  
  488.     ULONG    EPG_SomePrefs        ;Bits you find above the Globals
  489.     ULONG    EPG_Timeout        ;Timeout in Secs ; 0 = No Timeout
  490.  
  491.     WORD    EPG_FirstSnd    ;first Subsong Nr. (-1 for unknown)
  492.     WORD    EPG_SubSongs    ;Subsong Range (-1 for unknown)
  493.     ULONG    EPG_MODNr    ;Actual Module in List (Nr) ; 0 = No Mod.
  494.     ULONG    EPG_MODS    ;Number of Modules in List (Nr); 0 = No List
  495.  
  496.     APTR    EPG_PlayerTagList    ;Pointer to actual PlayerTaglist
  497.     APTR    EPG_TextFont        ;Pointer to actual Font-Structure
  498.  
  499.     UWORD    EPG_DVoice1Vol
  500.     UWORD    EPG_DVoice2Vol
  501.     UWORD    EPG_DVoice3Vol
  502.     UWORD    EPG_DVoice4Vol
  503.     UWORD    EPG_DVoice5Vol        ;unused
  504.     UWORD    EPG_DVoice6Vol        ;unused
  505.     UWORD    EPG_DVoice7Vol        ;unused
  506.     UWORD    EPG_DVoice8Vol        ;unused
  507.  
  508.     WORD    EPG_DefTimer
  509.     WORD    EPG_CurrentPosition
  510.     WORD    EPG_WORDReserved3
  511.     WORD    EPG_WORDReserved4
  512.     WORD    EPG_WORDReserved5
  513.     WORD    EPG_WORDReserved6
  514.     WORD    EPG_WORDReserved7
  515.     WORD    EPG_WORDReserved8
  516.  
  517.     LONG    EPG_Dirs
  518.     LONG    EPG_LoadedFiles        ;loaded files by DTG/EPG_LoadFile
  519.     APTR    EPG_AppPort
  520.     APTR    EPG_SampleInfoStructure    ;call first UCM_Sampleinit !!!!
  521.  
  522.     LONG    EPG_MinTimeOut
  523.     LONG    EPG_CurrentTime        ;Current Playtime
  524.     LONG    EPG_Duration        ;Duration
  525.     LONG    EPG_FirstUserStruct
  526.     LONG    EPG_FirstFileStruct
  527.     LONG    EPG_Entries
  528.     LONG    EPG_ModuleSize
  529.     APTR    EPG_LongReserved8
  530.     APTR    EPG_LongReserved9
  531.     APTR    EPG_LongReserved10
  532.  
  533.     LABEL    EPG_SizeOf        ;to be extended
  534.  
  535.  
  536.     *------------- Eagleplayer Globals Preferences-Flags ------------*
  537. EGPRF_Fadein        EQU    0
  538. EGPRF_Fadeout        EQU    1
  539. EGPRF_Songend        EQU    2
  540. EGPRF_Loadnext        EQU    3
  541. EGPRF_Randommodule    EQU    4
  542. EGPRF_Mastervolume    EQU    5
  543. EGPRF_NowPlay        EQU    6
  544. EGPRF_Surfacequit    EQU    7
  545. EGPRF_LoadPrev        EQU    8
  546. EGPRF_PausePlay        EQU    9
  547. EGPRF_LoadFast        EQU    10
  548. EGPRF_CalcDuration    EQU    11
  549. EGPRF_AllocChannels    EQU    12
  550. EGPRF_SoftInt        EQU    13
  551.  
  552. EGPRB_Fadein        EQU    1<<EGPRF_Fadein
  553. EGPRB_Fadeout        EQU    1<<EGPRF_Fadeout
  554. EGPRB_Songend        EQU    1<<EGPRF_Songend
  555. EGPRB_Loadnext        EQU    1<<EGPRF_Loadnext
  556. EGPRB_Randommodule    EQU    1<<EGPRF_Randommodule
  557. EGPRB_Mastervolume    EQU    1<<EGPRF_Mastervolume
  558. EGPRB_NowPlay        EQU    1<<EGPRF_NowPlay
  559. EGPRB_Surfacequit    EQU    1<<EGPRF_Surfacequit
  560. EGPRB_LoadPrev        EQU    1<<EGPRF_LoadPrev
  561. EGPRB_PausePlay        EQU    1<<EGPRF_PausePlay
  562. EGPRB_LoadFast        EQU    1<<EGPRF_LoadFast
  563. EGPRB_CalcDuration    EQU    1<<EGPRF_CalcDuration
  564. EGPRB_AllocChannels    EQU    1<<EGPRF_AllocChannels
  565. EGPRB_SoftInt        EQU    1<<EGPRF_SoftInt
  566.  
  567.  
  568.  
  569. *----------------------- Extended GlobalJumps -----------------------------*
  570. *-- This structure is the negative buffer relative to a5 (Basisregister) --*
  571. *--------------------------------------------------------------------------*
  572.  
  573.  STRUCTURE NEWEP_GLOBALS,-6
  574.         STRUCT    ENPP_AllocSampleStruct,-6
  575.         STRUCT    ENPP_NewLoadFile2,-6    ;You must Freemem it !!!
  576.         STRUCT    ENPP_MakeDirCorrect,-6
  577.         STRUCT    ENPP_TestAufHide,-6
  578.         STRUCT    ENPP_ClearCache,-6
  579.         STRUCT    ENPP_CopyMemQuick,-6
  580.         STRUCT    ENPP_GetPassword,-6
  581.         STRUCT    ENPP_StringCopy2,-6
  582.         STRUCT    ENPP_ScreenToFront,-6
  583.         STRUCT    ENPP_WindowToFront,-6
  584.  
  585.     *--------- old DeliTracker-Globals ---------*
  586.         STRUCT    ENPP_GetListData,-6
  587.         STRUCT    ENPP_LoadFile,-6
  588.         STRUCT    ENPP_CopyDir,-6
  589.         STRUCT    ENPP_CopyFile,-6
  590.         STRUCT    ENPP_CopyString,-6
  591.         STRUCT    ENPP_AllocAudio,-6
  592.         STRUCT    ENPP_FreeAudio,-6
  593.         STRUCT    ENPP_StartInterrupt,-6
  594.         STRUCT    ENPP_StopInterrupt,-6
  595.         STRUCT    ENPP_SongEnd,-6
  596.         STRUCT    ENPP_CutSuffix,-6
  597.         STRUCT    ENPP_SetTimer2,-6
  598.         STRUCT    ENPP_WaitAudioDMA,-6
  599.  
  600.     *--------- old EaglePlayer-Globals --------*
  601.         STRUCT    ENPP_SaveMem,-6
  602.         STRUCT    ENPP_FileReq,-6
  603.         STRUCT    ENPP_TextRequest,-6
  604.         STRUCT    ENPP_LoadExecutable,-6
  605.         STRUCT    ENPP_NewLoadFile,-6
  606.         STRUCT    ENPP_ScrollText,-6
  607.         STRUCT    ENPP_LoadPlConfig,-6
  608.         STRUCT    ENPP_SavePlConfig,-6
  609.         STRUCT    ENPP_FindTag,-6
  610.         STRUCT    ENPP_FindAuthor,-6
  611.  
  612.         STRUCT    ENPP_Hexdez,-6
  613.         STRUCT    ENPP_TypeText,-6
  614.         STRUCT    ENPP_ModuleChange,-6
  615.         STRUCT    ENPP_ModuleRestore,-6
  616.  
  617.         STRUCT    ENPP_StringCopy,-6
  618.         STRUCT    ENPP_CalcStringSize,-6
  619.         STRUCT    ENPP_StringCMP,-6
  620.  
  621.         STRUCT    ENPP_Open,-6
  622.         STRUCT    ENPP_Read1,-6        ;EP-AllocMem
  623.         STRUCT    ENPP_Read2,-6        ;Own AllocMem
  624.         STRUCT    ENPP_Seek,-6
  625.         STRUCT    ENPP_Close,-6
  626.  
  627.         STRUCT    ENPP_GetCatalogString,-6
  628.         STRUCT    ENPP_GetCatalogStringPuffer,-6
  629.         STRUCT    ENPP_GetCatalogStringAdr,-6
  630.         STRUCT    ENPP_GetCatalogScrollString,-6
  631.  
  632.         LABEL    ENPP_SizeOf        ;to be extended !!!
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640. *------------- Eagleplayer GadgetStrukture for EPP_Textrequest -------------*
  641.  STRUCTURE EPGG_Gadget,0
  642.         APTR    EPGG_NextGadget
  643.         APTR    EPGG_GadgetName
  644.         UBYTE    EPGG_Keys1
  645.         UBYTE    EPGG_Keys2
  646.         UBYTE    EPGG_Keys3
  647.         UBYTE    EPGG_Keys4
  648.  
  649.  
  650.  
  651. *----------------------------- Ron Klaren Header -----------------------------*
  652. KLARENHEADER MACRO
  653.     moveq    #-1,d0                ; this should return an error
  654.     rts                    ; in case someone tried to
  655.                         ; run it
  656.     dc.l    \1                ; Size of Ron Klaren Module,im-
  657.                         ; portant !!!
  658.     dc.b    "RON_KLAREN_SOUNDMODULE!",0    ; identifier
  659.     ENDM
  660.  
  661.  
  662.     ENDC    ; EAGLEPLAYER_I
  663.  
  664.