X-Git-Url: https://cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindow.h;h=a38d057d35876af3039d187e09dd61034b061530;hb=3abbd84aa85907d646b13c98295ce778d2a71215;hp=66b43626f63c52f9e0fb56720a89aaa7eb5a73ad;hpb=033efab12586e8086014c814a5360f211d228ac3;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/mwindow.h b/cinelerra-5.1/cinelerra/mwindow.h index 66b43626..a38d057d 100644 --- a/cinelerra-5.1/cinelerra/mwindow.h +++ b/cinelerra-5.1/cinelerra/mwindow.h @@ -105,6 +105,40 @@ #define FONT_SEARCHPATH "fonts" +class StackItem +{ +public: + EDL *edl, *new_edl; + MainUndo *undo; +}; + +class Stack : public ArrayList +{ +public: +}; + + +#define BEEP_SAMPLE_RATE 48000 + +class Beeper : public Thread +{ +public: + typedef int16_t audio_data_t; + Beeper(MWindow *mwindow); + ~Beeper(); + + void run(); + void start(); + void stop(int wait); + void tone(double freq, double secs, double gain); + + MWindow *mwindow; + double freq, secs, gain; + AudioDevice *audio; + int playing_audio, interrupted; + int audio_pos; +}; + class MWindow : public Thread { @@ -135,6 +169,12 @@ public: int get_tracks_height(); // Total horizontal pixels in timeline int get_tracks_width(); +// session stack + void stack_push(EDL *edl); + void stack_pop(); + void forget_nested_edl(EDL *nested); + void clip_to_media(); + void media_to_clip(); // Show windows void show_vwindow(); void show_awindow(); @@ -218,7 +258,7 @@ public: void create_mixers(double position = 0); void refresh_mixers(int dir=1); void stop_mixers(); - void close_mixers(int destroy=1); + void close_mixers(int result=1); void open_mixers(); ZWindow *get_mixer(Mixer *&mixer); void del_mixer(ZWindow *zwindow); @@ -289,6 +329,7 @@ public: void split_y(); void crop_video(int mode); void update_plugins(); + void get_backup_path(char *path, int len); // Call after every edit operation void save_backup(); void load_backup(); @@ -535,7 +576,7 @@ public: int enable_proxy(); int disable_proxy(); int to_proxy(Asset *asset, int new_scale, int new_use_scaler); - ProxyBeep *proxy_beep; + Beeper *beeper; void dump_plugins(FILE *fp=stdout); void dump_edl(FILE *fp=stdout); @@ -564,6 +605,8 @@ public: // Main undo stack MainUndo *undo; int undo_command; +// session stack + Stack stack; BC_Hash *defaults; Assets *assets;