home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Sound / Player / HF-AP210.LHA / APlayer / Files / Developer.lha / Include3.0 / Own / AccessiblePlayer.i next >
Encoding:
Text File  |  1996-03-21  |  15.2 KB  |  602 lines

  1. ; AccessiblePlayer Include File
  2. ;
  3.  
  4.     IFND    APlayer_i
  5. APlayer_i    =    1
  6.  
  7.     IFND    EXEC_TYPES_I
  8.     INCLUDE    "Exec/Types.i"
  9.     ENDC
  10.  
  11.     IFND    UTILITY_TAGITEM_I
  12.     INCLUDE    "Utility/Tagitem.i"
  13.     ENDC
  14.  
  15. apVersion    =    7        ;Current Version Of APlayer
  16.  
  17. ;******************************************************************************
  18. ;* Library Offsets
  19. ;******************************************************************************
  20.  
  21. apGetTags    =    -30
  22.  
  23. ;******************************************************************************
  24. ;* Message Numbers
  25. ;******************************************************************************
  26.  
  27. MSG_NextMod    =    "NM"        ;Load Next Module
  28. MSG_NextPos    =    "NP"        ;Update Position
  29. MSG_CallBack    =    "CB"        ;Call Your CallBack Routine
  30.  
  31. ; Messages From Version 3 (Released as 1.21)
  32.  
  33. MSG_UpdateAbout    =    "UA"        ;Update About Window
  34.  
  35. ; Messages From Version 6 (Released as 2.00)
  36.  
  37. MSG_UpdateTempo    =    "UT"        ;Update Tempo In About Window
  38.  
  39. ;******************************************************************************
  40. ;* Tags
  41. ;******************************************************************************
  42.  
  43. APT_TagBase        =    $80000000+"AP"
  44.  
  45.     ENUM    APT_TagBase
  46.  
  47.     EITEM    APT_RequestVersion
  48.     EITEM    APT_EarlyCheck
  49.     EITEM    APT_Check
  50.     EITEM    APT_LoadModule
  51.     EITEM    APT_FreeModule
  52.     EITEM    APT_GetError
  53.     EITEM    APT_ExtLoad
  54.     EITEM    APT_ExtFree
  55.  
  56.     EITEM    APT_InitPlayer
  57.     EITEM    APT_EndPlayer
  58.     EITEM    APT_InitSound
  59.     EITEM    APT_EndSound
  60.  
  61.     EITEM    APT_Interrupt
  62.     EITEM    APT_StartIRQ
  63.     EITEM    APT_StopIRQ
  64.  
  65.     EITEM    APT_Config        ;OBSOLETE
  66.  
  67.     EITEM    APT_PlayerName
  68.     EITEM    APT_Description
  69.  
  70.     EITEM    APT_ModuleName
  71.     EITEM    APT_Author
  72.     EITEM    APT_SubSong
  73.  
  74.     EITEM    APT_CIA            ;OBSOLETE
  75.     EITEM    APT_Pause
  76.     EITEM    APT_Volume
  77.     EITEM    APT_VolumeFunc
  78.  
  79.     EITEM    APT_FastMem        ;OBSOLETE
  80.  
  81.     EITEM    APT_GetMaxPattern
  82.     EITEM    APT_GetMaxSample
  83.     EITEM    APT_GetSongLength
  84.     EITEM    APT_GetSongPos
  85.  
  86.     EITEM    APT_Rewind
  87.     EITEM    APT_Forward
  88.     EITEM    APT_ChangeChannel
  89.     EITEM    APT_TestNextLine
  90.  
  91.     EITEM    APT_GetSample        ;OBSOLETE
  92.     EITEM    APT_PlaySample        ;OBSOLETE
  93.     EITEM    APT_RealtimePlay
  94.  
  95.     EITEM    APT_CallBack
  96.  
  97. ; Tags From Version 2 (Released as 1.1)
  98.  
  99.     EITEM    APT_Flags
  100.  
  101. ; Tags From Version 3 (Released as 1.21)
  102.  
  103.     EITEM    APT_CfgWindow
  104.  
  105. ; Tags From Version 4 (Released as 1.30)
  106.  
  107.     EITEM    APT_NewConfig
  108.  
  109.     EITEM    APT_UsedChannels
  110.     EITEM    APT_SamplesType
  111.  
  112.     EITEM    APT_GetSampleInfo
  113.     EITEM    APT_NewPlaySample
  114.  
  115.     EITEM    APT_NotePlayer
  116.     EITEM    APT_DefaultPlayerInfo
  117.     EITEM    APT_NotePlayerInfo
  118.  
  119.     EITEM    APT_InitNotePlayer
  120.     EITEM    APT_EndNotePlayer
  121.     EITEM    APT_InitNotePlayerSound
  122.     EITEM    APT_EndNotePlayerSound
  123.     EITEM    APT_PlayNote
  124.  
  125. ; Tags From Version 5 (Released as 1.40)
  126.  
  127.     EITEM    APT_Show
  128.     EITEM    APT_ShowWindow
  129.  
  130.     EITEM    APT_AgentType
  131.     EITEM    APT_AgentHandler
  132.  
  133. ; Tags From Version 6 (Released as 2.00)
  134.  
  135.     EITEM    APT_ChanSignal
  136.  
  137.     EITEM    APT_TempoFunc
  138.  
  139.     EITEM    APT_OSVersion
  140.  
  141. ;    EITEM    APT_VirtualChangeChannel;Not Used Yet
  142.  
  143. APT_NotePlayerName      =       APT_PlayerName
  144. APT_AgentName        =    APT_PlayerName
  145.  
  146. ;******************************************************************************
  147. ;* APT_Flags Flags
  148. ;******************************************************************************
  149.  
  150. AFB_AnyMem    =    0
  151. AFB_UseAudio    =    1
  152.  
  153. AF_AnyMem    =    1<<AFB_AnyMem
  154. AF_UseAudio    =    1<<AFB_UseAudio
  155.  
  156. ; Flags From Version 3 (Released as 1.21)
  157.  
  158. AFB_SongEnd    =    2
  159.  
  160. AF_SongEnd    =    1<<AFB_SongEnd
  161.  
  162. ; Flags From Version 6 (Released as 2.00)
  163.  
  164. AFB_Sample    =    3
  165.  
  166. AF_Sample    =    1<<AFB_Sample
  167.  
  168. ;******************************************************************************
  169. ;* APT_NotePlayerInfo & APT_NotePlayer Flags From Version 4 (Released as 1.30)
  170. ;******************************************************************************
  171.  
  172. ANFB_ChipMem        =    0    ;Only Used In APT_NotePlayerInfo
  173. ANFB_FastMem        =    1    ;Only Used In APT_NotePlayerInfo
  174. ANFB_HardwareVolume    =    2
  175. ANFB_Signed        =    3
  176. ANFB_Unsigned        =    4
  177. ANFB_Clock        =    5
  178.  
  179. ANF_ChipMem        =    1<<ANFB_ChipMem
  180. ANF_FastMem        =    1<<ANFB_FastMem
  181. ANF_HardwareVolume    =    1<<ANFB_HardwareVolume
  182. ANF_Signed        =    1<<ANFB_Signed
  183. ANF_Unsigned        =    1<<ANFB_Unsigned
  184. ANF_Clock        =    1<<ANFB_Clock
  185.  
  186. ;******************************************************************************
  187. ;* APT_SamplesType Types From Version 4 (Released as 1.30)
  188. ;******************************************************************************
  189.  
  190. ST_Signed        =    1
  191. ST_Unsigned        =    2
  192.  
  193. ;******************************************************************************
  194. ;* APT_AgentType Types From Version 5 (Released as 1.40)
  195. ;******************************************************************************
  196.  
  197. AGNT_SampleSaver    =    1
  198.  
  199. ; APT_AgentType Types From Version 6 (Released as 2.00)
  200.  
  201. AGNT_Scope        =    2
  202. AGNT_FSS        =    3    ;Private
  203.  
  204. ;******************************************************************************
  205. ;* Agent Data Structures
  206. ;******************************************************************************
  207.  
  208.     STRUCTURE AGSampleSaver,0
  209.     APTR    AGSS_SampleInfo        ;Pointer To A SampleInfo Structure
  210.     LABEL    AGSampleSaver_SIZEOF
  211.  
  212. ; Agent Data Structures From Version 6 (Released as 2.00)
  213.  
  214.     STRUCTURE AGFSS,0        ;Private
  215.     UWORD    AGFS_Action
  216.     ULONG    AGFS_Data1
  217.     ULONG    AGFS_Data2
  218.     ULONG    AGFS_Data3
  219.     ULONG    AGFS_Data4
  220.     LABEL    AGFSS_SIZEOF
  221.  
  222. FSA_Start    =    1        ;Initialize Agent
  223. FSA_End        =    2        ;Stop Agent
  224. FSA_Load    =    3        ;Load FSS File
  225. FSA_Save    =    4        ;Save FSS File
  226. FSA_Update    =    5        ;Update FSS List
  227.  
  228. ;******************************************************************************
  229. ;* Global Data Structure
  230. ;******************************************************************************
  231.  
  232.     STRUCTURE APlayerGlobal,0
  233.     ULONG    APG_FileSize
  234.     UWORD    APG_Tune
  235.     UWORD    APG_Reserved0
  236.     UBYTE    APG_MaxVolume
  237.     UBYTE    APG_Tempo
  238.  
  239.     FPTR    APG_CutPrefix        ;Private
  240.     FPTR    APG_LoadModule        ;Private
  241.     FPTR    APG_AddFile        ;Private
  242.     FPTR    APG_AllSleep        ;Private
  243.     FPTR    APG_AllUnsleep        ;Private
  244.     APTR    APG_ModList        ;Private
  245.     APTR    APG_LhaList        ;Private
  246.     APTR    APG_LhaNum        ;Private
  247.     APTR    APG_LzxList        ;Private
  248.     APTR    APG_LzxNum        ;Private
  249.  
  250.     FPTR    APG_AllocMem
  251.     FPTR    APG_FreeMem
  252.  
  253.     FPTR    APG_GetFilename
  254.     FPTR    APG_FindName
  255.  
  256.     FPTR    APG_CheckLoad
  257.     FPTR    APG_PartialLoad
  258.     FPTR    APG_Load
  259.  
  260.     FPTR    APG_DupOpen
  261.     FPTR    APG_DupClose
  262.     FPTR    APG_Seek
  263.  
  264.     FPTR    APG_PlaySample        ;OBSOLETE
  265.  
  266.     FPTR    APG_CalcVolume
  267.     FPTR    APG_WaitDMA
  268.     FPTR    APG_SendMsg
  269.     FPTR    APG_SetTimer
  270.  
  271.     FPTR    APG_NewProcess
  272.  
  273.     FPTR    APG_OpenWindow
  274.     FPTR    APG_WaitMsg
  275.     FPTR    APG_Reply
  276.     FPTR    APG_ActivateGadget
  277.     FPTR    APG_GetGadAdr
  278.     FPTR    APG_Flash
  279.  
  280.     FPTR    APG_AllocChannels
  281.     FPTR    APG_FreeChannels
  282.  
  283. ; Data/Functions From Version 2 (Released as 1.1)
  284.  
  285.     FPTR    APG_CutSuffix
  286.  
  287. ; Data/Functions From Version 3 (Released as 1.21)
  288.  
  289.     FPTR    APG_OpenFile
  290.     FPTR    APG_CloseFile
  291.     FPTR    APG_DirRequester
  292.     FPTR    APG_FileRequester
  293.     FPTR    APG_UpdateGadgets
  294.  
  295.     FPTR    APG_CalcTempo
  296.  
  297. ; Data/Functions From Version 4 (Released as 1.30)
  298.  
  299.     APTR    APG_IntBase        ;Intuition.library
  300.     APTR    APG_GfxBase        ;Graphics.library
  301.     APTR    APG_UtiBase        ;Utility.library
  302.     APTR    APG_ReqBase        ;Reqtools.library
  303.  
  304.     ULONG    APG_Clock
  305.     ULONG    APG_MixingRate
  306.  
  307.     APTR    APG_SampleInfo
  308.     APTR    APG_NullSample
  309.  
  310.     APTR    APG_ChannelInfo
  311.     FPTR    APG_NotePlayer
  312.  
  313.     FPTR    APG_NewPlaySample
  314.  
  315.     FPTR    APG_GetMaxVolume
  316.  
  317.     UWORD    APG_MaxChannels
  318.  
  319. ; Data/Functions From Version 5 (Released as 1.40)
  320.  
  321.     FPTR    APG_OpenShowWindow
  322.     FPTR    APG_CloseWindow
  323.     FPTR    APG_Sleep
  324.     FPTR    APG_Unsleep
  325.  
  326.     FPTR    APG_LVSetAttrs
  327.     FPTR    APG_LVGetAttrs
  328.     FPTR    APG_LVChangeColor
  329.  
  330.     FPTR    APG_CreateList
  331.     FPTR    APG_RemoveList
  332.     FPTR    APG_AddNode
  333.     FPTR    APG_DeleteNode
  334.     FPTR    APG_DeleteList
  335.     FPTR    APG_CopyList
  336.     FPTR    APG_ExchangeNodes
  337.     FPTR    APG_MoveToTop
  338.     FPTR    APG_MoveToBottom
  339.     FPTR    APG_FindNode
  340.     FPTR    APG_FindNodeNumber
  341.  
  342.     FPTR    APG_StringCompare
  343.  
  344. ; Data/Functions From Version 6 (Released as 2.00)
  345.  
  346.     FPTR    APG_GetScreenHd
  347.  
  348.     APTR    APG_GadBase        ;Gadtools.library
  349.  
  350.     FPTR    APG_GetMemType
  351.  
  352.     FPTR    APG_AllocScopeSignal
  353.     FPTR    APG_FreeScopeSignal
  354.     FPTR    APG_GetScopeSignal
  355.     FPTR    APG_TestScopeSignal
  356.     APTR    APG_ChannelFlags
  357.  
  358.     APTR    APG_ListFont
  359.     APTR    APG_GeneralFont
  360.  
  361.     BOOL    APG_LoopFlag
  362.  
  363.     FPTR    APG_DosError
  364.     FPTR    APG_ShowRequest
  365.  
  366. ; Data/Functions From Version 7 (Released as 2.10)
  367.  
  368.     UWORD    APG_Channels
  369.     LABEL    APlayerGlobal_SIZEOF
  370.  
  371. ;******************************************************************************
  372. ;* Sample Info Structure From Version 4 (Released as 1.30)
  373. ;******************************************************************************
  374.  
  375.     STRUCTURE SampleInfo,0
  376.     UBYTE    SI_Type            ;See below for the types.
  377.     UBYTE    SI_Flags        ;See below for the flags.
  378.     APTR    SI_Name            ;This should be a pointer to a
  379.                     ;NULL-terminated string with the name
  380.                     ;of the sample here.
  381.     APTR    SI_Address        ;Set this to the start address of the
  382.                     ;sample. Zero means no sample.
  383.     LONG    SI_RealLength        ;Set this to the length of the sample
  384.                     ;in bytes.
  385.     LONG    SI_Length        ;This should be the length of the
  386.                     ;sample in 8 bits. That means if you
  387.                     ;have a 16 bit sample, this should be
  388.                     ;the half of the SI_RealLength size.
  389.     APTR    SI_LoopStart        ;Set this to the address where to loop
  390.                     ;from. If no loop, set this to the
  391.                     ;start address of the sample.
  392.     LONG    SI_LoopLength        ;This should indicate how many bytes
  393.                     ;of the sample to be looped. Zero
  394.                     ;means no loop.
  395.     UBYTE    SI_Volume        ;Set this to the volume of the sample.
  396.     UBYTE    SI_Finetune        ;This is a byte between -8 and +7.
  397.     UBYTE    SI_SampleBit        ;Set this to the bit size of the sample
  398.     UBYTE    SI_Pad
  399.     LABEL    SampleInfo_SIZEOF
  400.  
  401. ;******************************************************************************
  402. ;* SampleInfo Types From Version 4 (Released as 1.30)
  403. ;******************************************************************************
  404.  
  405. SIT_Sample        =    0
  406. SIT_AM            =    1
  407. SIT_FM            =    2
  408. SIT_Hybrid        =    3
  409. SIT_AdLib        =    4
  410.  
  411. ; SampleInfo Types From Version 5 (Released as 1.40)
  412.  
  413. SIT_WaveSynth        =    5
  414.  
  415. ;******************************************************************************
  416. ;* SampleInfo Flags From Version 4 (Released as 1.30)
  417. ;******************************************************************************
  418.  
  419. SIFB_Unsigned        =    0    ;Set this if the sample is unsigned.
  420.  
  421. SIF_Unsigned        =    1<<SIFB_Unsigned
  422.  
  423. ;******************************************************************************
  424. ;* NotePlayer Channel Structure From Version 4 (Released as 1.30)
  425. ;******************************************************************************
  426.  
  427.     STRUCTURE NPChannel,0
  428.     UBYTE    NPC_Flags
  429.     UBYTE    NPC_Bits        ;From Version 6 (Default 8)
  430.     APTR    NPC_Start
  431.     ULONG    NPC_Length
  432.     APTR    NPC_LoopStart
  433.     ULONG    NPC_LoopLength
  434.     UWORD    NPC_Period
  435.     UWORD    NPC_Volume
  436.     UBYTE    NPC_PrivateFlags    ;Do Not Touch
  437.     UBYTE    NPC_Reserved1
  438.     ULONG    NPC_Reserved2
  439.     ULONG    NPC_Reserved3
  440.     LABEL    NPChannel_SIZEOF
  441.  
  442. ;******************************************************************************
  443. ;* NotePlayer Channel Flags From Version 4 (Released as 1.30)
  444. ;*
  445. ;* These bit will be set if the equal field in the NPChannel structure above
  446. ;* is valid.
  447. ;******************************************************************************
  448.  
  449. NPCFB_Sample        =    0
  450. NPCFB_Loop        =    1
  451. NPCFB_Period        =    2
  452. NPCFB_QuadroPeriod    =    3
  453. NPCFB_Volume        =    4
  454.  
  455. NPCF_Sample        =    1<<NPCFB_Sample
  456. NPCF_Loop        =    1<<NPCFB_Loop
  457. NPCF_Period        =    1<<NPCFB_Period
  458. NPCF_QuadroPeriod    =    1<<NPCFB_QuadroPeriod
  459. NPCF_Volume        =    1<<NPCFB_Volume
  460.  
  461. ; NotePlayer Channel Flags From Version 5 (Released as 1.40)
  462.  
  463. NPCFB_WordLength    =    5
  464.  
  465. NPCF_WordLength        =    1<<NPCFB_WordLength
  466.  
  467. ; NotePlayer Channel Flags From Version 7 (Released as 2.10)
  468.  
  469. NPCFB_LoopRetrig    =    6
  470.  
  471. NPCF_LoopRetrig        =    1<<NPCFB_LoopRetrig
  472.  
  473. ;******************************************************************************
  474. ;* Config Structure From Version 4 (Released as 1.30)
  475. ;******************************************************************************
  476.  
  477.     STRUCTURE ConfigStruct,0
  478.     FPTR    CS_GadUpdate        ;Pointer to a function that will fill
  479.                     ;out a tag list with the new values.
  480.                     ;It should return a pointer to the tag
  481.                     ;lists in A0.
  482.     FPTR    CS_Exit            ;Pointer to a Exit function.
  483.     UWORD    CS_Width        ;Window Width.
  484.     UWORD    CS_Height        ;Window Height.
  485.     APTR    CS_Title        ;Pointer To Window Title.
  486.     ULONG    CS_IDCMP        ;Extra IDCMPs. These IDCMPs will
  487.                     ;always be set: GADGETUP, GADGETDOWN,
  488.                     ;VANILLAKEY, MENUPICK and REFRESHWINDOW
  489.     APTR    CS_PrefName        ;Pointer to a preference filename
  490.                     ;with only the "Player" or "NotePlayer"
  491.                     ;path.
  492.     APTR    CS_PrefData        ;Pointer to your preference data.
  493.     APTR    CS_DefPrefData        ;Pointer to your default pref. data.
  494.     ULONG    CS_PrefSize        ;Number of bytes in your preferences.
  495.  
  496.     UWORD    CS_GadgetNum        ;Number of gadgets you want - 1.
  497.                     ;Then the Gadget Structure if any
  498.                     ;gadgets. See macro below.
  499.  
  500.     UWORD    CS_BevelNum        ;Number of bevel boxes you want - 1.
  501.                     ;Then the Bevel Box Structure if any
  502.                     ;boxes. See macro below.
  503.  
  504.     BOOL    CS_Text            ;Text strings boolean. Set this if you
  505.                     ;want some text else clear it.
  506.                     ;Then the normal IntuiText structures
  507.                     ;linked together.
  508.  
  509. ;******************************************************************************
  510. ;* Show Window Structure From Version 5 (Released as 1.40)
  511. ;******************************************************************************
  512.  
  513.     STRUCTURE ShowStruct,0
  514.     FPTR    SS_GadUpdate        ;Pointer to a function that will fill
  515.                     ;out a tag list with the new values.
  516.                     ;It should return a pointer to the tag
  517.                     ;lists in A0.
  518.     FPTR    SS_Exit            ;Pointer to a Exit function.
  519.     UWORD    SS_Width        ;Window Width.
  520.     UWORD    SS_Height        ;Window Height.
  521.     APTR    SS_Title        ;Pointer To Window Title.
  522.     ULONG    SS_IDCMP        ;Extra IDCMPs. These IDCMPs will
  523.                     ;always be set: CLOSEWINDOW, GADGETUP
  524.                     ;REFRESHWINDOW and VANILLAKEY.
  525.  
  526.     UWORD    SS_GadgetNum        ;Number of gadgets you want - 1.
  527.                     ;Then the Gadget Structure if any
  528.                     ;gadgets. See macro below.
  529.  
  530.     BOOL    SS_Menu            ;Menu boolean. Set this if you want
  531.                     ;a menu else clear it. This is not
  532.                     ;implemented yet, but for future
  533.                     ;compatible, clear it.
  534.  
  535.     UWORD    SS_BevelNum        ;Number of bevel boxes you want - 1.
  536.                     ;Then the Bevel Box Structure if any
  537.                     ;boxes. See macro below.
  538.  
  539.     BOOL    SS_Text            ;Text strings boolean. Set this if you
  540.                     ;want some text else clear it.
  541.                     ;Then the normal IntuiText structures
  542.                     ;linked together.
  543.  
  544. ;******************************************************************************
  545. ;* This Macro helps you to make Gadgets in your config window
  546. ;******************************************************************************
  547.  
  548. GADSTR    MACRO
  549.     dc.w    \2,\3,\4,\5,\6        ;X, Y, Width, Height, ID
  550.     dc.l    \7,\8,\9        ;Flags, Text, Tags
  551.     dc.w    \1            ;Kind
  552.     ENDM
  553.  
  554. ;******************************************************************************
  555. ;* This Macro helps you to make Bevel Boxes in your config window
  556. ;******************************************************************************
  557.  
  558. BEVSTR    MACRO
  559.     dc.w    \1,\2,\3,\4        ;X, Y, Width, Height
  560.     dc.w    \5            ;Normal (FALSE) Or Recessed (TRUE)
  561.     ENDM
  562.  
  563. ;******************************************************************************
  564. ;* Special Gadget Kinds From Version 3 (Released as 1.21)
  565. ;******************************************************************************
  566.  
  567. DISK_KIND    =    800        ;Will Make A Disk Gadget
  568. UPARROW_KIND    =    801        ;Up Arrow Image Button
  569. DOWNARROW_KIND    =    802        ;Down Arrow Image Button
  570.  
  571. ; Special Gadget Kinds From Version 5 (Released as 1.40)
  572.  
  573. NEWLISTVIEW_KIND=    700        ;Kickstart 3.0 Look ListViews
  574.  
  575. ;******************************************************************************
  576. ;* NEWLISTVIEW_KIND Tags From Version 5 (Released as 1.40)
  577. ;******************************************************************************
  578. ; C=Create
  579. ; S=Set
  580. ; G=Get
  581.  
  582. NLV_TagBase    =    $80000000+"NLV"
  583.  
  584.     ENUM    NLV_TagBase
  585.  
  586.     EITEM    NLV_Labels        ;CS
  587.     EITEM    NLV_Top            ;CS
  588.     EITEM    NLV_Selected        ;CSG
  589.     EITEM    NLV_SelectTwice        ;C
  590.     EITEM    NLV_CursorKeys        ;C
  591.     EITEM    NLV_ScrollWidth        ;C
  592.     EITEM    NLV_Tabs        ;C
  593.     EITEM    NLV_Font        ;C
  594.     EITEM    NLV_Function        ;C
  595.     EITEM    NLV_MoveTop        ;S
  596.  
  597. ; NEWLISTVIEW_KIND Tags From Version 6 (Released as 2.00)
  598.  
  599.     EITEM    NLV_ReadOnly        ;C
  600.  
  601.     ENDC
  602.