hvirtual/cinelerra/pluginclient.h File Reference

#include "arraylist.h"
#include "condition.h"
#include "edlsession.inc"
#include "keyframe.h"
#include "mainprogress.inc"
#include "maxbuffers.h"
#include "plugincommands.h"
#include "pluginserver.inc"
#include "theme.inc"
#include "vframe.h"

Include dependency graph for pluginclient.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  PluginClientAuto
class  PluginClient

Defines

#define BCASTDIR   "~/.bcast/"
#define REGISTER_PLUGIN(class_title)
#define WINDOW_CLOSE_EVENT(window_class)
#define PLUGIN_THREAD_HEADER(plugin_class, thread_class, window_class)
#define PLUGIN_THREAD_OBJECT(plugin_class, thread_class, window_class)
#define PLUGIN_CLASS_MEMBERS(config_name, thread_name)
#define PLUGIN_CONSTRUCTOR_MACRO
#define PLUGIN_DESTRUCTOR_MACRO
#define SHOW_GUI_MACRO(plugin_class, thread_class)
#define RAISE_WINDOW_MACRO(plugin_class)
#define SET_STRING_MACRO(plugin_class)
#define NEW_PICON_MACRO(plugin_class)
#define LOAD_CONFIGURATION_MACRO(plugin_class, config_class)

Functions

PluginClientnew_plugin (PluginServer *server)


Define Documentation

#define BCASTDIR   "~/.bcast/"

Definition at line 6 of file pluginclient.h.

Referenced by MWindow::create_defaults_path(), BatchRenderThread::create_path(), PluginClient::get_defaultdir(), ZoomBlurMain::load_defaults(), YUVEffect::load_defaults(), WipeMain::load_defaults(), WhirlEffect::load_defaults(), WaveEffect::load_defaults(), VideoScopeEffect::load_defaults(), UnsharpMain::load_defaults(), TranslateMain::load_defaults(), TitleMain::load_defaults(), TimeStretch::load_defaults(), TimeFrontMain::load_defaults(), TimeAvgMain::load_defaults(), ThresholdMain::load_defaults(), Synth::load_defaults(), SwapMain::load_defaults(), SvgMain::load_defaults(), Spectrogram::load_defaults(), SlideMain::load_defaults(), ShiftInterlaceMain::load_defaults(), ShapeWipeMain::load_defaults(), RotateEffect::load_defaults(), RGB601Main::load_defaults(), ReverseVideo::load_defaults(), ReverseAudio::load_defaults(), Reroute::load_defaults(), ReframeRT::load_defaults(), ReFrame::load_defaults(), RadialBlurMain::load_defaults(), SharpenMain::load_defaults(), PolarEffect::load_defaults(), PitchEffect::load_defaults(), PerspectiveMain::load_defaults(), ParametricEQ::load_defaults(), OverlayAudio::load_defaults(), Overlay::load_defaults(), OilEffect::load_defaults(), NormalizeMain::load_defaults(), MotionBlurMain::load_defaults(), MotionMain::load_defaults(), LoopVideo::load_defaults(), LoopAudio::load_defaults(), LiveVideo::load_defaults(), LinearBlurMain::load_defaults(), SoundLevelEffect::load_defaults(), IVTCMain::load_defaults(), IrisSquareMain::load_defaults(), InvertVideoEffect::load_defaults(), InterpolateVideo::load_defaults(), InterpolatePixelsMain::load_defaults(), HueEffect::load_defaults(), HistogramMain::load_defaults(), GradientMain::load_defaults(), GammaMain::load_defaults(), FreezeFrameMain::load_defaults(), FreeverbEffect::load_defaults(), FrameField::load_defaults(), FlipMain::load_defaults(), FieldFrame::load_defaults(), DownSampleMain::load_defaults(), DiffKey::load_defaults(), DenoiseVideo::load_defaults(), SelTempAvgMain::load_defaults(), DenoiseMJPEG::load_defaults(), DenoiseFFTEffect::load_defaults(), DenoiseEffect::load_defaults(), DelayVideo::load_defaults(), DelayAudio::load_defaults(), DeInterlaceMain::load_defaults(), Decimate::load_defaults(), CompressorEffect::load_defaults(), ColorBalanceMain::load_defaults(), ChromaKeyHSV::load_defaults(), ChromaKey::load_defaults(), CDRipMain::load_defaults(), BrightnessMain::load_defaults(), BlurMain::load_defaults(), BandWipeMain::load_defaults(), BandSlideMain::load_defaults(), _720to480Main::load_defaults(), _1080to540Main::load_defaults(), ScaleMain::load_defaults(), ResampleEffect::load_defaults(), PluginAClientLAD::load_defaults(), main(), Preferences::Preferences(), ChannelDB::prefix_to_path(), and TitleMain::save_defaults().

#define LOAD_CONFIGURATION_MACRO ( plugin_class,
config_class   ) 

Definition at line 173 of file pluginclient.h.

#define NEW_PICON_MACRO ( plugin_class   ) 

Value:

VFrame* plugin_class::new_picon() \
{ \
        return new VFrame(picon_png); \
}

Definition at line 167 of file pluginclient.h.

#define PLUGIN_CLASS_MEMBERS ( config_name,
thread_name   ) 

Value:

int load_configuration(); \
        VFrame* new_picon(); \
        char* plugin_title(); \
        int show_gui(); \
        int set_string(); \
        void raise_window(); \
        BC_Hash *defaults; \
        config_name config; \
        thread_name *thread;

Definition at line 99 of file pluginclient.h.

#define PLUGIN_CONSTRUCTOR_MACRO

Value:

thread = 0; \
        defaults = 0; \
        load_defaults(); \

Definition at line 110 of file pluginclient.h.

Referenced by _1080to540Main::_1080to540Main(), AgingMain::AgingMain(), BandSlideMain::BandSlideMain(), BandWipeMain::BandWipeMain(), BlurMain::BlurMain(), BrightnessMain::BrightnessMain(), BurnMain::BurnMain(), ChromaKey::ChromaKey(), ChromaKeyHSV::ChromaKeyHSV(), ColorBalanceMain::ColorBalanceMain(), CompressorEffect::CompressorEffect(), Decimate::Decimate(), DeInterlaceMain::DeInterlaceMain(), DenoiseEffect::DenoiseEffect(), DenoiseFFTEffect::DenoiseFFTEffect(), DenoiseMJPEG::DenoiseMJPEG(), DenoiseVideo::DenoiseVideo(), Despike::Despike(), DiffKey::DiffKey(), DotMain::DotMain(), DownSampleMain::DownSampleMain(), FieldFrame::FieldFrame(), FlipMain::FlipMain(), FrameField::FrameField(), FreeverbEffect::FreeverbEffect(), FreezeFrameMain::FreezeFrameMain(), Gain::Gain(), GammaMain::GammaMain(), GradientMain::GradientMain(), HistogramMain::HistogramMain(), HoloMain::HoloMain(), HueEffect::HueEffect(), InterpolatePixelsMain::InterpolatePixelsMain(), InterpolateVideo::InterpolateVideo(), InvertVideoEffect::InvertVideoEffect(), IrisSquareMain::IrisSquareMain(), IVTCMain::IVTCMain(), LinearBlurMain::LinearBlurMain(), LiveAudio::LiveAudio(), LiveVideo::LiveVideo(), LoopAudio::LoopAudio(), LoopVideo::LoopVideo(), MotionBlurMain::MotionBlurMain(), MotionMain::MotionMain(), OilEffect::OilEffect(), Overlay::Overlay(), OverlayAudio::OverlayAudio(), ParametricEQ::ParametricEQ(), PerspectiveMain::PerspectiveMain(), PitchEffect::PitchEffect(), PluginAClientLAD::PluginAClientLAD(), PolarEffect::PolarEffect(), RadialBlurMain::RadialBlurMain(), ReframeRT::ReframeRT(), Reroute::Reroute(), Reverb::Reverb(), ReverseAudio::ReverseAudio(), ReverseVideo::ReverseVideo(), RGB601Main::RGB601Main(), RotateEffect::RotateEffect(), ScaleMain::ScaleMain(), SelTempAvgMain::SelTempAvgMain(), ShapeWipeMain::ShapeWipeMain(), ShiftInterlaceMain::ShiftInterlaceMain(), SlideMain::SlideMain(), SoundLevelEffect::SoundLevelEffect(), Spectrogram::Spectrogram(), SvgMain::SvgMain(), SwapMain::SwapMain(), ThresholdMain::ThresholdMain(), TimeAvgMain::TimeAvgMain(), TimeFrontMain::TimeFrontMain(), TimeStretch::TimeStretch(), TitleMain::TitleMain(), TranslateMain::TranslateMain(), UnsharpMain::UnsharpMain(), VideoScopeEffect::VideoScopeEffect(), WaveEffect::WaveEffect(), WhirlEffect::WhirlEffect(), WipeMain::WipeMain(), YUVEffect::YUVEffect(), and ZoomBlurMain::ZoomBlurMain().

#define PLUGIN_DESTRUCTOR_MACRO

Value:

if(thread) \
        { \
/* This is needed when the GUI is closed from elsewhere than itself */ \
/* Since we now use autodelete, this is all that has to be done, thread will take care of itself ... */ \
/* Thread join will wait if this was not called from the thread itself or go on if it was */ \
                thread->window->lock_window("PLUGIN_DESTRUCTOR_MACRO"); \
                thread->window->set_done(0); \
                thread->window->unlock_window(); \
                thread->join(); \
        } \
 \
 \
        if(defaults) save_defaults(); \
        if(defaults) delete defaults;

Definition at line 115 of file pluginclient.h.

Referenced by _1080to540Main::~_1080to540Main(), AgingMain::~AgingMain(), BandSlideMain::~BandSlideMain(), BandWipeMain::~BandWipeMain(), BlurMain::~BlurMain(), BrightnessMain::~BrightnessMain(), BurnMain::~BurnMain(), ChromaKey::~ChromaKey(), ChromaKeyHSV::~ChromaKeyHSV(), ColorBalanceMain::~ColorBalanceMain(), CompressorEffect::~CompressorEffect(), Decimate::~Decimate(), DeInterlaceMain::~DeInterlaceMain(), DelayVideo::~DelayVideo(), DenoiseEffect::~DenoiseEffect(), DenoiseFFTEffect::~DenoiseFFTEffect(), DenoiseMJPEG::~DenoiseMJPEG(), DenoiseVideo::~DenoiseVideo(), Despike::~Despike(), DiffKey::~DiffKey(), DotMain::~DotMain(), DownSampleMain::~DownSampleMain(), FieldFrame::~FieldFrame(), FlipMain::~FlipMain(), FrameField::~FrameField(), FreeverbEffect::~FreeverbEffect(), FreezeFrameMain::~FreezeFrameMain(), Gain::~Gain(), GammaMain::~GammaMain(), GradientMain::~GradientMain(), HistogramMain::~HistogramMain(), HoloMain::~HoloMain(), HueEffect::~HueEffect(), InterpolatePixelsMain::~InterpolatePixelsMain(), InterpolateVideo::~InterpolateVideo(), InvertVideoEffect::~InvertVideoEffect(), IrisSquareMain::~IrisSquareMain(), IVTCMain::~IVTCMain(), LinearBlurMain::~LinearBlurMain(), LiveAudio::~LiveAudio(), LiveVideo::~LiveVideo(), LoopAudio::~LoopAudio(), LoopVideo::~LoopVideo(), MotionBlurMain::~MotionBlurMain(), MotionMain::~MotionMain(), OilEffect::~OilEffect(), Overlay::~Overlay(), OverlayAudio::~OverlayAudio(), ParametricEQ::~ParametricEQ(), PerspectiveMain::~PerspectiveMain(), PitchEffect::~PitchEffect(), PluginAClientLAD::~PluginAClientLAD(), PolarEffect::~PolarEffect(), RadialBlurMain::~RadialBlurMain(), ReframeRT::~ReframeRT(), Reroute::~Reroute(), Reverb::~Reverb(), ReverseAudio::~ReverseAudio(), ReverseVideo::~ReverseVideo(), RGB601Main::~RGB601Main(), RotateEffect::~RotateEffect(), ScaleMain::~ScaleMain(), SelTempAvgMain::~SelTempAvgMain(), ShapeWipeMain::~ShapeWipeMain(), ShiftInterlaceMain::~ShiftInterlaceMain(), SlideMain::~SlideMain(), SoundLevelEffect::~SoundLevelEffect(), Spectrogram::~Spectrogram(), SvgMain::~SvgMain(), SwapMain::~SwapMain(), ThresholdMain::~ThresholdMain(), TimeAvgMain::~TimeAvgMain(), TimeFrontMain::~TimeFrontMain(), TimeStretch::~TimeStretch(), TitleMain::~TitleMain(), TranslateMain::~TranslateMain(), UnsharpMain::~UnsharpMain(), VideoScopeEffect::~VideoScopeEffect(), WaveEffect::~WaveEffect(), WhirlEffect::~WhirlEffect(), WipeMain::~WipeMain(), YUVEffect::~YUVEffect(), and ZoomBlurMain::~ZoomBlurMain().

#define PLUGIN_THREAD_HEADER ( plugin_class,
thread_class,
window_class   ) 

Value:

class thread_class : public Thread \
{ \
public: \
        thread_class(plugin_class *plugin); \
        ~thread_class(); \
        void run(); \
        window_class *window; \
        plugin_class *plugin; \
};

Definition at line 57 of file pluginclient.h.

#define PLUGIN_THREAD_OBJECT ( plugin_class,
thread_class,
window_class   ) 

Value:

thread_class::thread_class(plugin_class *plugin) \
 : Thread(0, 0, 1) \
{ \
        this->plugin = plugin; \
} \
 \
thread_class::~thread_class() \
{ \
        delete window; \
} \
 \
void thread_class::run() \
{ \
        BC_DisplayInfo info; \
        window = new window_class(plugin,  \
                info.get_abs_cursor_x() - 75,  \
                info.get_abs_cursor_y() - 65); \
        window->create_objects(); \
 \
/* Only set it here so tracking doesn't update it until everything is created. */ \
        plugin->thread = this; \
        int result = window->run_window(); \
/* This is needed when the GUI is closed from itself */ \
        if(result) plugin->client_side_close(); \
}

Definition at line 69 of file pluginclient.h.

#define RAISE_WINDOW_MACRO ( plugin_class   ) 

Value:

void plugin_class::raise_window() \
{ \
        if(thread) \
        { \
                thread->window->lock_window(); \
                thread->window->raise_window(); \
                thread->window->flush(); \
                thread->window->unlock_window(); \
        } \
}

Definition at line 143 of file pluginclient.h.

#define REGISTER_PLUGIN ( class_title   ) 

Value:

PluginClient* new_plugin(PluginServer *server) \
{ \
        return new class_title(server); \
}

Definition at line 41 of file pluginclient.h.

#define SET_STRING_MACRO ( plugin_class   ) 

Value:

int plugin_class::set_string() \
{ \
        if(thread) \
        { \
                thread->window->lock_window(); \
                thread->window->set_title(gui_string); \
                thread->window->unlock_window(); \
        } \
        return 0; \
}

Definition at line 155 of file pluginclient.h.

#define SHOW_GUI_MACRO ( plugin_class,
thread_class   ) 

Value:

int plugin_class::show_gui() \
{ \
        load_configuration(); \
        thread_class *new_thread = new thread_class(this); \
        new_thread->start(); \
        return 0; \
}

Definition at line 134 of file pluginclient.h.

#define WINDOW_CLOSE_EVENT ( window_class   ) 

Value:

int window_class::close_event() \
{ \
/* Set result to 1 to indicate a client side close */ \
        set_done(1); \
        return 1; \
}

Definition at line 48 of file pluginclient.h.


Function Documentation

PluginClient* new_plugin ( PluginServer server  ) 


Generated on Mon Apr 28 13:55:39 2008 for Cinelerra by  doxygen 1.5.5