revert between 56095 -> 55830 in arch
[AROS.git] / workbench / classes / datatypes / sound / classbase.h
blobc4fdf7514e28095c835abe433c072bd82d99d97f
1 #ifndef DATATYPES_SOUNDCLASS_H
2 #include <datatypes/soundclass.h>
3 #endif
4 #include <intuition/classes.h>
5 #include <exec/execbase.h>
7 /****************************************************************************/
9 struct ClassBase
11 /* std library stuff */
12 struct Library LibNode;
13 UWORD pad_word;
14 #ifndef __AROS__
15 BPTR LibSegment;
16 struct ExecBase *cb_SysBase;
17 #endif
18 struct SignalSemaphore cb_LibLock;
19 /* library bases */
20 #if !defined(__MAXON__) && !defined(__AROS__)
21 struct Library *cb_IntuitionBase;
22 struct Library *cb_GfxBase;
23 struct Library *cb_DOSBase;
24 struct Library *cb_UtilityBase;
25 struct Library *cb_DataTypesBase;
26 struct Library *cb_IFFParseBase;
27 struct Library *cb_TapeDeckBase;
28 #endif
29 Class *cb_Class;
30 ULONG *cb_Methods;
31 /* prefs */
32 BOOL cb_AIFF;
33 BOOL cb_AHI;
34 ULONG cb_AHIModeID;
35 ULONG cb_AHIMixFrequency;
36 UWORD cb_NomWidth;
37 UWORD cb_NomHeight;
38 ULONG cb_WfCol[3];
39 ULONG cb_BgCol[3];
40 BOOL cb_Compress;
41 BOOL cb_ForceAHIMode;
42 ULONG cb_BufferSize;
43 UWORD cb_Volume;
44 BOOL cb_ControlPanel;
45 BOOL cb_NoGTSlider;
48 /****************************************************************************/
50 struct InstanceData
52 struct ClassBase *ClassBase;
53 struct SignalSemaphore Lock;
54 /* v39 tags */
55 struct VoiceHeader VoiceHeader;
56 BYTE *Sample;
57 ULONG SampleLength;
58 UWORD Frequency;
59 UWORD Volume;
60 UWORD Cycles;
61 /* v40 tags */
62 UWORD Continuous;
63 struct Task *SignalTask;
64 BYTE SignalBit;
65 /* v41 tags */
66 UBYTE SampleType;
67 ULONG Panning;
68 /* v44 tags */
69 struct timeval ReplayPeriod;
70 BOOL LeftSample; // SDTA_Sample is SDTA_LeftSample?
71 UWORD pad_word2;
72 BYTE *RightSample;
73 BOOL SyncSampleChange;
74 BOOL FreeSampleData;
75 /* additional tags */
76 BOOL Immediate;
77 BOOL Repeat;
78 BOOL DelayedImmed;
79 /* offset */
80 ULONG StartSample;
81 ULONG EndSample;
82 /* private data */
83 struct Process *PlayerProc;
84 struct MsgPort *PlayerPort;
85 /* for STM_STOP (doubleclick) */
86 struct timeval LastClick;
87 /* DTM_SELECT */
88 WORD MinX;
89 WORD MaxX;
90 BOOL MarkMode;
91 /* controlpanel */
92 WORD pad_word;
93 WORD TapeDeckHeight;
94 BOOL ControlPanel;
95 struct Gadget *TapeDeckGadget;
96 struct Gadget *VolumeSlider;
97 struct Gadget *ActiveMember;
99 struct Screen *Screen; // DTM_DRAW
100 struct DrawInfo *DrawInfo; // DTM_DRAW
101 struct Window *Window;
102 struct Requester *Requester;
103 struct Gadget *Gadget;
105 struct ColorMap *ColorMap; // Needed to release allocated pens, GInfo of DTM_REMOVEDTOBJECT == NULL
106 WORD WaveformPen; // Drawing pens
107 WORD BackgroundPen;
109 BOOL ForceRefresh; // bugfix (?) for gmv
112 /****************************************************************************/
114 struct ObjectMsg {
115 struct Message Message;
116 ULONG Command;
117 APTR Data;
118 // ULONG ErrorCode;
121 enum {
122 COMMAND_INIT,
123 COMMAND_EXIT,
124 COMMAND_PLAY,
125 COMMAND_STOP,
126 COMMAND_PAUSE,
127 COMMAND_PERVOL,
128 COMMAND_NEXT_BUFFER
131 /****************************************************************************/