6 #include "vorbis/vorbisenc.h"
7 #include "vorbis/vorbisfile.h"
8 #include "resample.inc"
15 class FileVorbis
: public FileBase
18 FileVorbis(Asset
*asset
, File
*file
);
21 static void get_parameters(BC_WindowBase
*parent_window
,
23 BC_WindowBase
* &format_window
,
26 int reset_parameters_derived();
28 static int check_sig(Asset
*asset
);
29 int open_file(int rd
, int wr
);
31 int write_samples(double **buffer
,
34 int read_samples(double *buffer
, int64_t len
);
35 int read_samples_float(float *buffer
, int64_t len
);
36 int prefer_samples_float();
42 float **pcm_history_float
;
43 #define HISTORY_MAX 0x100000
58 class VorbisConfigAudio
;
61 class VorbisFixedBitrate
: public BC_Radial
64 VorbisFixedBitrate(int x
, int y
, VorbisConfigAudio
*gui
);
66 VorbisConfigAudio
*gui
;
69 class VorbisVariableBitrate
: public BC_Radial
72 VorbisVariableBitrate(int x
, int y
, VorbisConfigAudio
*gui
);
74 VorbisConfigAudio
*gui
;
77 class VorbisMinBitrate
: public BC_TextBox
80 VorbisMinBitrate(int x
,
82 VorbisConfigAudio
*gui
,
85 VorbisConfigAudio
*gui
;
88 class VorbisMaxBitrate
: public BC_TextBox
91 VorbisMaxBitrate(int x
,
93 VorbisConfigAudio
*gui
,
96 VorbisConfigAudio
*gui
;
99 class VorbisAvgBitrate
: public BC_TextBox
102 VorbisAvgBitrate(int x
,
104 VorbisConfigAudio
*gui
,
107 VorbisConfigAudio
*gui
;
110 class VorbisConfigAudio
: public BC_Window
113 VorbisConfigAudio(BC_WindowBase
*parent_window
, Asset
*asset
);
114 ~VorbisConfigAudio();
116 int create_objects();
119 VorbisFixedBitrate
*fixed_bitrate
;
120 VorbisVariableBitrate
*variable_bitrate
;
121 BC_WindowBase
*parent_window
;
122 char string
[BCTEXTLEN
];