ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SIDPlayer/src/clamp_includes/InputPlugin_InfoStruct.h
Revision: 1.1
Committed: 2000-07-28T12:42:30Z (24 years, 4 months ago) by cebix
Content type: text/plain
Branch point for: MAIN, cebix
Log Message:
Initial revision

File Contents

# User Rev Content
1 cebix 1.1 #ifndef CLAMP_INPUT_PLUGIN_INFO_H
2     #define CLAMP_INPUT_PLUGIN_INFO_H
3    
4     #define MAX_INPLUG_FNAME_LEN 100
5    
6     // The following is for the Flags member in PlayerInfoStruct
7     // (File Position Promille => 0=start, and 1000=end of file)
8     #define INPLUG_NO_TOTTIME 0x0001 // The plugin can't estimate a total time for the current file
9     #define INPLUG_NO_CURRTIME 0x0002 // The plugin will not provide any information in CurrTime
10     #define INPLUG_JUMP_OK 0x0004 // The plugin can jump around in the current song
11     // Observe: Jumping can not be done if INPLUG_NO_CURRTIME is given!!
12     #define INPLUG_JUMP_FILEPOS 0x0008 // Makes JumpTo() give the new position in file position promille
13     // instead of milliseconds as it is default
14     #define INPLUG_CURRTIME_FILEPOS 0x0010 // The plugin will set CurrTime to the current file position promille
15     // instead of milliseconds as it is default
16     #define INPLUG_HANDLE_SPEED 0x0020 // CL-Amp will call NewSpeed() to ask for a new speed and will not
17     // try to adjust it by itself!
18     // (CL-Amp is otherwise taking care of speed adjustment by itself!)
19     #define INPLUG_HANDLE_VOLUME 0x0040 // CL-Amp will call NewVolume() to ask for a new speed and will not
20     // try to adjust it by itself!
21     // (CL-Amp is otherwise taking care of volume adjustment by itself!)
22     #define INPLUG_INDEPENDENT 0x0080 // The plugin will remain in GetAudio() while playing this song
23     // * CL-Amp will call JumpTo() from thread A instead of thread B
24     // * CL-Amp will call NewSpeed() from thread A instead of thread B
25     // (NewSpeed() is only called if the INPLUG_HANDLE_SPEED flag is given!)
26    
27     struct PlayerInfoStruct {
28     char Title[MAX_INPLUG_FNAME_LEN]; // If there is a better title than the filename it can be given here!
29     // Example: A mp3 plugin could read it from the Id tag...
30     // Leave it blank to tell CL-Amp to make a title from the filename!
31     unsigned long Flags;
32     long CurrTime, TotTime; // milliSeconds!
33     long BitRate, Frequency;
34     long BufferVolume; // Promille, Buffer is used by the http handler
35     bool Stereo;
36     bool BufferOn, PreBuffering; // Buffer is used by the http handler
37     bool SampleIsOnly8Bits;
38     short Fader;
39     float *Equalizer;
40     bool NewEqValues, dummy;
41     long SongId; // CL-Amp is setting a Song identification here.
42     // some special plugins may need it...
43     long Future[11];
44     };
45    
46     #endif