#include <unistd.h>
#include <string.h>
+class FileFFMPEG;
+class FFMpegConfigNum;
+class FFMpegAudioNum;
+class FFMpegVideoNum;
+class FFOkButton;
+class FFOptions;
+class FFMPEGConfigAudio;
+class FFAudioOptions;
+class FFMPEGConfigAudioPopup;
+class FFMPEGConfigAudioToggle;
+class FFMPEGConfigVideo;
+class FFVideoOptions;
+class FFMPEGConfigVideoPopup;
+class FFMPEGConfigVideoToggle;
class FileFFMPEG : public FileBase
{
int select_audio_stream(Asset *asset, int astream);
};
+class FFMpegConfigNum : public BC_TumbleTextBox
+{
+public:
+ FFMpegConfigNum(BC_Window *window, int x, int y,
+ char *title_text, int *output);
+ ~FFMpegConfigNum();
+
+ void create_objects();
+ int handle_event();
+ int *output;
+ BC_Window *window;
+ BC_Title *title;
+ char *title_text;
+ int x, y;
+};
+
+class FFMpegAudioNum : public FFMpegConfigNum
+{
+public:
+ FFMpegAudioNum(BC_Window *window, int x, int y, char *title_text, int *output);
+ ~FFMpegAudioNum() {}
+
+ FFMPEGConfigAudio *window() { return (FFMPEGConfigAudio *)FFMpegConfigNum::window; }
+};
+
+class FFMpegAudioBitrate : public FFMpegAudioNum
+{
+public:
+ FFMpegAudioBitrate(BC_Window *window, int x, int y, char *title_text, int *output)
+ : FFMpegAudioNum(window, x, y, title_text, output) {}
+ int handle_event();
+};
+
+class FFMpegVideoNum : public FFMpegConfigNum
+{
+public:
+ FFMpegVideoNum(BC_Window *window, int x, int y, char *title_text, int *output);
+ ~FFMpegVideoNum() {}
+
+ FFMPEGConfigVideo *window() { return (FFMPEGConfigVideo *)FFMpegConfigNum::window; }
+};
+
+class FFMpegVideoBitrate : public FFMpegVideoNum
+{
+public:
+ FFMpegVideoBitrate(BC_Window *window, int x, int y, char *title_text, int *output)
+ : FFMpegVideoNum(window, x, y, title_text, output) {}
+ int handle_event();
+};
+
+class FFMpegVideoQuality : public FFMpegVideoNum
+{
+public:
+ FFMpegVideoQuality(BC_Window *window, int x, int y, char *title_text, int *output)
+ : FFMpegVideoNum(window, x, y, title_text, output) {}
+ int handle_event();
+};
class FFMPEGConfigAudio : public BC_Window
{
ArrayList<BC_ListBoxItem*> presets;
FFMPEGConfigAudioPopup *preset_popup;
+ FFMpegAudioBitrate *bitrate;
+ FFAudioOptions *audio_options;
BC_WindowBase *parent_window;
Asset *asset;
};
+class FFAudioOptions : public BC_TextBox
+{
+public:
+ FFAudioOptions(FFMPEGConfigAudio *audio_popup,
+ int x, int y, int w, int rows, int size, char *text);
+ int handle_event();
+
+ FFMPEGConfigAudio *audio_popup;
+};
+
class FFMPEGConfigAudioPopup : public BC_PopupTextBox
{
ArrayList<BC_ListBoxItem*> presets;
FFMPEGConfigVideoPopup *preset_popup;
BC_WindowBase *parent_window;
+ FFMpegVideoBitrate *bitrate;
+ FFMpegVideoQuality *quality;
+ FFVideoOptions *video_options;
Asset *asset;
};
+class FFVideoOptions : public BC_TextBox
+{
+public:
+ FFVideoOptions(FFMPEGConfigVideo *video_popup,
+ int x, int y, int w, int rows, int size, char *text);
+ int handle_event();
+
+ FFMPEGConfigVideo *video_popup;
+};
+
class FFMPEGConfigVideoPopup : public BC_PopupTextBox
{
public: