home *** CD-ROM | disk | FTP | other *** search
/ Programming Sound Cards / Programming Sound Cards.iso / sound_56 / general.def < prev    next >
Encoding:
Text File  |  1995-01-01  |  4.7 KB  |  76 lines

  1. TCHANNEL STRUC
  2.            ; general switches :
  3.            enabled     DB     ?   ; flag if =0 then nothing to mix at the moment
  4.            channeltyp  DB     ?   ; 0=off,1=left,2=right,3,4=adlib ... if 0,3,4 -> everything ignored !
  5.            ; current Instrument :
  6.            InstrSEG    DW     ?   ; DOS segment of current instrument data
  7.            SampleSEG   DW     ?   ; DOS segment of current sample data
  8.            InstrNo     DB     ?   ; number of instrument is currently playing
  9.            Note        DB     ?   ; we don't need it really for playing, but let's store it anyway
  10.            ; copy of sampledata (maybe it differs a bit):
  11.            SampleVol   DB     ?   ; current sample volume
  12.            sLoopflag   DB     ?   ; flag if we have to loop sample
  13.            sSmpstart   DW     ?   ; start offset of sample
  14.            sLoopstart  DW     ?   ; loop start of current sample =0ffffh if no loop
  15.            sLoopend    DW     ?   ; loop end/normal end of current sample
  16.            sCurPos     DD     ?   ; fixed point value for current position in sample
  17.            sStep       DD     ?   ; fixed point value of frequency step (distance of one step
  18.                                   ; depends on period we play currently)
  19.            sPeriod     DW     ?   ; st3 period ... you know these amiga values (look at tech.doc of ST3)
  20.                                   ; period does no influence playing a sample direct, but it's for sliding etc.
  21.            lower_border DW    ?   ; B-7 or B-5 period for current instrument to check limits
  22.            upper_border DW    ?   ; C-0 or C-3 period for current instrument to check limits
  23.            ; effect info :
  24.            command     DW     ?   ; 2 times effectnumber (for using a jmptable)
  25.            cmd2nd      DW     ?   ; -> 2nd command part - for multiple effects
  26.            parameter   DB     ?   ; just the command parameters
  27.            ; extra effect data :
  28.            continueEf  DB     ?   ; Flag if we should continue effect - vibrato,tremolo
  29.            VibtabOfs   DW     ?   ; yo for each channel its own choise (default = OFS sinuswave)
  30.            TrmtabOfs   DW     ?   ; = Offset of wavetable for tremolo
  31.            tablepos    DB     ?   ; <- we reset this if a effect starts uses such a table
  32.            VibPara     DB     ?   ; <- for dual command Vib + Vol
  33.            PortPara    DB     ?   ; <- for dual command Port + Vol
  34.            OldPeriod   DW     ?   ; save that value for some effects
  35.            Oldvolume   DB     ?   ; save that value for tremolo
  36.            WantedPeri  DW     ?   ; <- period to slide to with Portamento
  37.            ArpegPos    DB     ?   ; which of thoses 3 notes we currently play ...
  38.            note1       DB     ?   ; \
  39.            note2       DB     ?   ; - +note - 3 notes we do arpeggio between
  40.            Step0       DD     ?   ; \
  41.            Step1       DD     ?   ;  |- the 3 step values we switch between in arpeggio effect (0 is start value <- we have to refesh after arpeggio)
  42.            Step2       DD     ?   ; /
  43.            cTick       DB     ?   ; - ticks left to retrigg note
  44.            savNote     DB     ?   ; \
  45.            savInst     DB     ?   ;  | - new values for notedelay ...
  46.            SavVol      DB     ?   ;  |
  47.            ndTick      DB     ?   ; /   <- also used for Notecut (ticks left to cut)
  48. TCHANNEL ENDS
  49.  
  50. TINSTRUMENT STRUC
  51.               TYP  DB  ?     ; if <>1 forget the rest it's a wrong instrument typ
  52.               ; only read the following things if typ was =1
  53.               ; or you will get 'amazing' results ;)
  54.               DOSname DB 12 DUP (?)
  55.               notused1      DB  ?
  56.               memseg        DW  ?   ; segment of sampledata
  57.               slength       DW  ?   ; length of sample <= 64KB
  58.               HI_length     DW  ?   ; <- not used !
  59.               loopbeg       DW  ?   ; loop begin <= 64KB
  60.               HI_loopbeg    DW  ?   ; <- not used !
  61.               loopend       DW  ?   ; loop end <= 64KB
  62.               HI_loopend    DW  ?   ; <- not used !
  63.               vol           DB  ?   ; default instrument volume
  64.               notused2      DB  ?
  65.               packinfo      DB  ?   ; =0 or we can't play it !
  66.               flags         DB  ?   ; bit 0 = sample loops
  67.                                     ; all other bits not supported ...
  68.               c2speed       DW  ?   ; frequency at middle C (actually C-4)
  69.               HI_c2speed    DW  ?   ; <- not used !
  70.               notused3      DB 4 DUP (?)
  71.               GUS_addr      DW  ?   ; <- not used !
  72.               SB_Flags      DW  ?   ; dounno ... not used yet
  73.               SB_last       DD  ?   ; not used yet (will be good for EMS play ?)
  74.               IName         DB 28 DUP (?)
  75.               SCRS_ID       DB  4 DUP (?)
  76. TINSTRUMENT ENDS