** ** $Filename: misc/EaglePlayer.i ** $Release: 2.00 $ ** $Revision: 13$ ** $Date: 22/02/97$ ** ** Definitions and Macros for creating EaglePlayer Playermodules ** ** (C) Copyright 1993-97 by DEFECT ** All Rights Reserved ** ** IFND EAGLEPLAYER_I EAGLEPLAYER_I SET 1 IFND DeliTracker_Player_i Include "Misc/DeliPlayer.i" ENDC EAGLEVERSION EQU 11 ;Current Version of EaglePlayer ;9=V1.53/54 ;10=1.55 Alpha ;11=2.00 *--------------------------- New EaglePlayer Tags ----------------------------* EP_TagBase EQU TAG_USER+"EP" ENUM EP_TagBase ;EaglePlayer-TagBase EITEM EP_Get_ModuleInfo ;get Pointer to Moduleinfo Taglist EITEM EP_Free_ModuleInfo ;free Taglist (e.g. Free Mem) EITEM EP_Voices ;Set the Voices EITEM EP_SampleInit ;create Sampleinfostructure EITEM EP_SampleEnd ;ejected !!! EITEM EP_Save EITEM EP_ModuleChange ;Change Module EITEM EP_ModuleRestore ;Restore Module EITEM EP_StructInit ;Return Pointer to Userprg.Struct (UPS_) EITEM EP_StructEnd ;Free Struct (e.g. Free allocated Mem) EITEM EP_LoadPlConfig ;Load Config of Player EITEM EP_SavePlConfig ;Save Config of Player EITEM EP_GetPositionNr ;return Patternnumber (in D0.l) EITEM EP_SetSpeed ;Set Speed (for Players with own Timer) ;Value submitted in D0 EITEM EP_Flags ;see below EITEM EP_KickVersion ;min Kickstartversion EITEM EP_PlayerVersion ;min EP-Version EITEM EP_CheckModule ;Checks the module (d0=Error or zero) EITEM EP_EjectPlayer EITEM EP_Date ;Creator-Date (e.g 11.05.1993 ;11.b, 05.b, 1993.w ) EITEM EP_Check3 EITEM EP_SaveAsPT ;Save Module as Protrackermodule EITEM EP_NewModuleInfo ;TI_Data -> Pointer to Moduleinfo Taglist EITEM EP_FreeExtLoad EITEM EP_PlaySample ;Play Sample d0=SampleNr EITEM EP_PatternInit ;Init Patterninfostruct EITEM EP_PatternEnd ;Free Patterninfostruct - optional EITEM EP_Check4 EITEM EP_Check5 EITEM EP_Check6 EITEM EP_CreatorLNr EITEM EP_PlayerNameLNr EITEM EP_PlayerInfo ;TI_Data -> APTR to TagList EITEM EP_PlaySampleInit EITEM EP_PlaySampleEnd EITEM EP_InitAmplifier ;Input: None ;Output: d0=NUll oder Error ; Tagliste in EPGL_AmplifierTagList EITEM EP_CheckSegment EITEM EP_Show EITEM EP_Hide EITEM EP_LocaleTable EITEM EP_Helpnodename EITEM EP_AttnFlags EITEM EP_EagleBase EITEM EP_Check7 ;for Formatloader (DTP_Check1) a0=Formattags EITEM EP_Check8 ;for Formatloader (DTP_Check2) a0=Formattags EITEM EP_SetPlayFrequency EITEM EP_SamplePlayer *********** end of player interface enumeration for EaglePlayer *********** *------------------------- EaglePlayer EP_Flags --------------------------* * if you use EP_Flags, please set all functions your player offers * EPF_Songend EQU 1 ;Songend EPF_Restart EQU 2 ;Player restartable EPF_Disable EQU 3 ;Player disabled (1=yes) EPF_NextSong EQU 4 EPF_PrevSong EQU 5 EPF_NextPatt EQU 6 EPF_PrevPatt EQU 7 EPF_Volume EQU 8 EPF_Balance EQU 9 EPF_Voices EQU 10 EPF_Save EQU 11 EPF_Analyzer EQU 12 EPF_ModuleInfo EQU 13 EPF_SampleInfo EQU 14 EPF_Packable EQU 15 EPF_VolVoices EQU 16 EPF_InternalUPSStructure EQU 17 EPF_RestartSong EQU 18 EPF_LoadFast EQU 19 EPF_EPAudioAlloc EQU 20 EPF_VolBalVoi EQU 21 EPF_CalcDuration EQU 22 EPB_Songend EQU 1< Eagleplayer used LONG EPG_EagleVersion WORD EPG_Speed LONG EPG_ARGN ;Anz. of Parameters LONG EPG_ARG1 ;\ LONG EPG_ARG2 ; \ LONG EPG_ARG3 ; \ Parameter-Buffer for SubProggys LONG EPG_ARG4 ; \_\ You must use this. You must set LONG EPG_ARG5 ; / / ArgN (max. used Parameters) LONG EPG_ARG6 ; / --> New SubProggys can use LONG EPG_ARG7 ; / more Parameters !!!! LONG EPG_ARG8 ;/ don`t use in interrupts !!!! UWORD EPG_Voices UWORD EPG_Voice1Vol ;0-64 UWORD EPG_Voice2Vol UWORD EPG_Voice3Vol UWORD EPG_Voice4Vol APTR EPG_VoiceTable ;Voicetable (only for Amplifier) 0-255 UWORD EPG_VoiceTableEntries UWORD EPG_Unused1 ULONG EPG_SomePrefs ;Bits you find above the Globals ULONG EPG_Timeout ;Timeout in Secs ; 0 = No Timeout WORD EPG_FirstSnd ;first Subsong Nr. (-1 for unknown) WORD EPG_SubSongs ;Subsong Range (-1 for unknown) ULONG EPG_MODNr ;Actual Module in List (Nr) ; 0 = No Mod. ULONG EPG_MODS ;Number of Modules in List (Nr); 0 = No List APTR EPG_PlayerTagList ;Pointer to actual PlayerTaglist APTR EPG_TextFont ;Pointer to actual Font-Structure UWORD EPG_Volume ;Volumerange 0-255 UWORD EPG_Balance ;Balance UWORD EPG_LeftBalance ;Balancerange 0-255 UWORD EPG_RightBalance ;Balancerange 0-255 UWORD EPG_UnUsed6 UWORD EPG_UnUsed7 UWORD EPG_UnUsed8 UWORD EPG_UnUsed9 WORD EPG_DefTimer WORD EPG_CurrentPosition WORD EPG_WORDReserved3 WORD EPG_WORDReserved4 WORD EPG_WORDReserved5 WORD EPG_WORDReserved6 WORD EPG_WORDReserved7 WORD EPG_WORDReserved8 LONG EPG_Dirs LONG EPG_LoadedFiles ;loaded files by DTG/EPG_LoadFile APTR EPG_AppPort APTR EPG_SampleInfoStructure ;call first EPNr_Sampleinit !!!! LONG EPG_MinTimeOut LONG EPG_CurrentTime ;Current Playtime LONG EPG_Duration ;Duration LONG EPG_FirstUserStruct LONG EPG_FirstFileStruct LONG EPG_Entries LONG EPG_Modulesize APTR EPG_Playerlist APTR EPG_Enginelist APTR EPG_Moduleslist APTR EPG_AmplifierList ;Wie Enginelist APTR EPG_ActiveAmplifier ;EUS_StartAdr APTR EPG_AudioStruct ;aktuelle AudioStruct (EP privat) APTR EPG_AmplifierTagList APTR EPG_ConfigDirArrayPtr APTR EPG_PlayerDirArrayPtr ;Future use APTR EPG_EngineDirArrayPtr APTR EPG_FirstPlayerStruct APTR EPG_ChkSegment APTR EPG_EagleplayerDirArrayPtr LABEL EPG_SizeOf ;to be extended *------------- Eagleplayer Globals Preferences-Flags ------------* EGPRF_Unused EQU 0 ;FadeIn V1.0-V1.54ß EGPRF_Fadeout EQU 1 EGPRF_Songend EQU 2 EGPRF_Loadnext EQU 3 EGPRF_Randommodule EQU 4 EGPRF_Mastervolume EQU 5 EGPRF_NowPlay EQU 6 EGPRF_Surfacequit EQU 7 EGPRF_LoadPrev EQU 8 EGPRF_PausePlay EQU 9 EGPRF_LoadFast EQU 10 EGPRF_CalcDuration EQU 11 EGPRF_AllocChannels EQU 12 EGPRF_SoftInt EQU 13 EGPRF_Iconify EQU 14 EGPRF_Help EQU 15 EGPRF_Fadein EQU 16 EGPRB_UnUsed EQU 1< to dtg_copyxxx STRUCT ENPP_CopyString,-6 ;/ STRUCT ENPP_AllocAudio,-6 STRUCT ENPP_FreeAudio,-6 STRUCT ENPP_StartInterrupt,-6 STRUCT ENPP_StopInterrupt,-6 STRUCT ENPP_SongEnd,-6 STRUCT ENPP_CutSuffix,-6 STRUCT ENPP_SetTimer,-6 STRUCT ENPP_WaitAudioDMA,-6 *--------- old EaglePlayer-Globals --------* STRUCT ENPP_SaveMem,-6 STRUCT ENPP_FileReq,-6 STRUCT ENPP_TextRequest,-6 STRUCT ENPP_LoadExecutable,-6 STRUCT ENPP_NewLoadFile,-6 STRUCT ENPP_ScrollText,-6 STRUCT ENPP_LoadPlConfig,-6 STRUCT ENPP_SavePlConfig,-6 STRUCT ENPP_FindTag,-6 STRUCT ENPP_FindAuthor,-6 STRUCT ENPP_Hexdez,-6 STRUCT ENPP_TypeText,-6 STRUCT ENPP_ModuleChange,-6 STRUCT ENPP_ModuleRestore,-6 STRUCT ENPP_StringCopy,-6 STRUCT ENPP_CalcStringSize,-6 STRUCT ENPP_StringCMP,-6 STRUCT ENPP_DMAMask,-6 STRUCT ENPP_PokeAdr,-6 STRUCT ENPP_PokeLen,-6 STRUCT ENPP_PokePer,-6 STRUCT ENPP_PokeVol,-6 STRUCT ENPP_PokeCommand,-6 STRUCT ENPP_Amplifier,-6 STRUCT ENPP_TestAbortGadget,-6 STRUCT ENPP_GetEPNrfromMessage,-6 ;In:a1=Message STRUCT ENPP_InitDisplay,-6 ;a0=Text a1=Args STRUCT ENPP_FillDisplay,-6 ;-++- d0=per thousand STRUCT ENPP_RemoveDisplay,-6 STRUCT ENPP_GetLocaleString,-6 STRUCT ENPP_SetWaitPointer,-6 STRUCT ENPP_ClearWaitPointer,-6 STRUCT ENPP_OpenCatalog,-6 STRUCT ENPP_CloseCatalog,-6 STRUCT ENPP_AllocAmigaAudio,-6 *allocate original Amigaaudio (for Amplifiers) STRUCT ENPP_FreeAmigaAudio,-6 STRUCT ENPP_RawToFormat,-6 STRUCT ENPP_FindAmplifier,-6 STRUCT ENPP_UserCallup5,-6 STRUCT ENPP_GetLoadListData,-6 ;(for ExtLoad) STRUCT ENPP_SetListData,-6 ;only for rippers !!! LABEL ENPP_SizeOf ;to be extended !!! EPNPC_Filter EQU 1 ;d0=Command d1=0-> bclr ; d1=1-> bset *-------------- Eagleplayer GadgetStrukture for EPP_Textrequest --------------* * STRUCTURE EPGG_Gadget,0 * APTR EPGG_NextGadget * APTR EPGG_GadgetName * UBYTE EPGG_Keys1 * UBYTE EPGG_Keys2 * UBYTE EPGG_Keys3 * UBYTE EPGG_Keys4 *------------ Eagleplayer new GadgetStrukture for EPP_Textrequest ------------* * STRUCTURE EPNG_Gadget,0 ;neu für Locale * APTR EPNG_NextGadget * UWORD EPNG_LocaleNr * UBYTE EPNG_Keys1 ;\ should be a Startcase * UBYTE EPNG_Keys2 ;/ * UBYTE EPNG_Keys3 ;\ should be Esc or ENTER * UBYTE EPNG_Keys4 ;/ * ;if in the Localestring exists a _ then the EPGN_Key1 and 2 * ;will set to lower an higher case of this * ;Example L_oad EPNG_Keys1=L EPNG_Keys2=l * *----------------------------- Player header --------------------------------* EPPHEADER MACRO moveq #-1,d0 ; prevent crashes if someone rts ; tries to call the player from shell dc.b 'EPPLAYER' ; identifier as "Eagleplayer Player" dc.l \1 ; Pointer to TagItem Array ENDM *----------------------------- Ron Klaren Header -----------------------------* KLARENHEADER MACRO moveq #-1,d0 ; prevent crashes if someone rts ; tries to call the module from shell ; dc.l \1 ; Size of Ron Klaren Module,im- ; portant !!! dc.b "RON_KLAREN_SOUNDMODULE!",0 ; identifier ENDM ENDC ; EAGLEPLAYER_I