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 |