X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fproxy.h;h=c98f2e04a5cea9168e947c39a2c4815919c4c3e5;hp=0db833ea2b87599096eb97e8eeb8ba37eca7e7b3;hb=540f653df26e5e2d1249de1f7a1a3d888dddf341;hpb=559af27994c49da1d98e085f4ac2ec1ad1d1d27c diff --git a/cinelerra-5.1/cinelerra/proxy.h b/cinelerra-5.1/cinelerra/proxy.h index 0db833ea..c98f2e04 100644 --- a/cinelerra-5.1/cinelerra/proxy.h +++ b/cinelerra-5.1/cinelerra/proxy.h @@ -24,6 +24,7 @@ // functions for handling proxies #include "arraylist.h" +#include "audiodevice.inc" #include "asset.h" #include "bcdialog.h" #include "cache.inc" @@ -32,11 +33,9 @@ #include "loadbalance.h" #include "mutex.inc" #include "mwindow.inc" +#include "proxy.inc" #include "renderengine.inc" -class ProxyDialog; -class ProxyWindow; - #define MAX_SIZES 16 class ProxyMenuItem : public BC_MenuItem @@ -100,7 +99,6 @@ public: void handle_close_event(int result); void from_proxy(); - void to_proxy(); // calculate possible sizes based on the original size void calculate_sizes(); void scale_to_text(char *string, int scale); @@ -114,6 +112,7 @@ public: int orig_scale; int use_scaler; int auto_scale; + int beep; char *size_text[MAX_SIZES]; int size_factors[MAX_SIZES]; int total_sizes; @@ -139,6 +138,16 @@ public: ProxyWindow *pwindow; }; +class ProxyBeepOnDone : public BC_CheckBox +{ +public: + ProxyBeepOnDone(ProxyWindow *pwindow, int x, int y); + void update(); + int handle_event(); + + ProxyWindow *pwindow; +}; + class ProxyFormatTools : public FormatTools { public: @@ -187,9 +196,11 @@ public: ProxyDialog *dialog; FormatTools *format_tools; BC_Title *new_dimensions; + BC_Title *active_scale; ProxyMenu *scale_factor; ProxyUseScaler *use_scaler; ProxyAutoScale *auto_scale; + ProxyBeepOnDone *beep_on_done; }; class ProxyFarm; @@ -233,4 +244,24 @@ public: ArrayList *proxy_assets; }; +class ProxyBeep : public Thread +{ +public: + enum { BEEP_SAMPLE_RATE=48000 }; + typedef int16_t audio_data_t; + ProxyBeep(MWindow *mwindow); + ~ProxyBeep(); + + 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; +}; + #endif