home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Geek 6
/
Geek-006.iso
/
linux
/
video
/
xmovie-1.5.3.tar.gz
/
xmovie-1.5.3.tar
/
xmovie-1.5.3
/
xmovie
/
mainwindow.h
< prev
next >
Wrap
C/C++ Source or Header
|
2000-11-29
|
3KB
|
103 lines
#ifndef MWINDOW_H
#define MWINDOW_H
#include "arraylist.h"
#include "settings.inc"
#include "asset.inc"
#include "defaults.inc"
#include "file.inc"
#include "mainmenu.inc"
#include "mainwindow.inc"
#include "mutex.h"
#include "mwindowgui.inc"
#include "playbackengine.inc"
#include "playlist.inc"
#include "theme.inc"
#include "thread.h"
#include "vframe.inc"
class Load;
class LoadPrevious;
class LoadThread;
class MainWindow
{
public:
MainWindow(ArrayList<char*> *init_playlist);
~MainWindow();
void load_defaults();
void save_defaults();
int create_objects();
int run_program();
int exit_cleanly();
int reset_parameters();
int get_canvas_sizes(int width_given);
int get_full_size(int &full_w, int &full_h);
int get_yuv_cropping(int &x, int &y, int &w, int &h);
int set_audio_stream(int stream_number);
int set_video_stream(int stream_number);
float get_aspect_ratio();
// =================== all operations start here
int load_file(char *path, int use_locking);
int close_file();
int start_playback();
int stop_playback();
int frame_forward();
int frame_backward();
int original_size(float percent);
// Display frame when paused
int flash_frame(double percentage);
// Playback
int arm_frame();
int flash_armed_frame();
long samplerate;
float frame_rate;
double current_percentage;
double current_time;
int every_frame;
int smp;
int use_mmx;
int software_sync;
long prebuffer_size;
// Streams to read from a multi-stream file
int video_stream;
int audio_stream;
ErrorThread *error_thread;
Defaults *defaults;
ArrayList<char*> *init_playlist;
MWindowGUI *gui;
Asset *asset; // description of file or 0 if no file loaded
// 0 when no file loaded otherwise pointer to open file
File *video_file;
File *audio_file;
Playlist *playlist;
PlaybackEngine *engine;
SettingsMenu *settingsmenu;
char default_path[1024];
float aspect_w, aspect_h; // Aspect ratio of display
float letter_w, letter_h; // Letterbox aspect ratio
int canvas_w, canvas_h; // Canvas size
int input_w, input_h; // Size of source to read
// The frame is expanded to the size of the display aspect ratio
// then cropped to the size of the letterbox aspect ratio.
int square_pixels; // Ignore aspect ratio if 1
int crop_letterbox; // Crop letterbox if 1
int convert_601; // Convert luminance
int audio_priority;
float actual_framerate; // Actual framerate being achieved.
Theme *theme;
private:
// Default buffer for frame flashes
VFrame *frame;
};
#endif