void ChromaKeyWindow::create_objects() { int x = 10, y = 10, x1 = 100; BC_Title *title; add_subwindow(title = new BC_Title(x, y, _("Color:"))); x += title->get_w() + 10; add_subwindow(color = new ChromaKeyColor(plugin, this, x, y)); x += color->get_w() + 10; add_subwindow(sample = new BC_SubWindow(x, y, 100, 50)); y += sample->get_h() + 10; x = 10; add_subwindow(new BC_Title(x, y, _("Slope:"))); add_subwindow(slope = new ChromaKeySlope(plugin, x1, y)); y += 30; add_subwindow(new BC_Title(x, y, _("Threshold:"))); add_subwindow(threshold = new ChromaKeyThreshold(plugin, x1, y)); y += 30; add_subwindow(use_value = new ChromaKeyUseValue(plugin, x1, y)); y += 30; add_subwindow(use_colorpicker = new ChromaKeyUseColorPicker(plugin, this, x1, y)); color_thread = new ChromaKeyColorThread(plugin, this); update_sample(); show_window(); flush(); }
void audio_UpdateCallback(void *buf, unsigned len) { update_sample(buf,len*2*2); }
void ChromaKeyWindow::create_objects () { int y = 10, y1, x1 = 0, x2 = 10; int x = 30; BC_Title *title; BC_Bar *bar; int ymargin = get_text_height(MEDIUMFONT) + 5; int ymargin2 = get_text_height(MEDIUMFONT) + 10; add_subwindow (title = new BC_Title (x2, y, _("Color:"))); add_subwindow (color = new ChromaKeyColor (plugin, this, x, y + 25)); add_subwindow (sample = new BC_SubWindow (x + color->get_w () + 10, y, 100, 50)); y += sample->get_h () + 10; add_subwindow (use_colorpicker = new ChromaKeyUseColorPicker (plugin, this, x, y)); y += use_colorpicker->get_h() + 10; add_subwindow (show_mask = new ChromaKeyShowMask (plugin, x2, y)); y += show_mask->get_h() + 5; add_subwindow(bar = new BC_Bar(x2, y, get_w() - x2 * 2)); y += bar->get_h() + 5; y1 = y; add_subwindow (new BC_Title (x2, y, _("Key parameters:"))); y += ymargin; add_subwindow (title = new BC_Title (x, y, _("Hue Tolerance:"))); if(title->get_w() > x1) x1 = title->get_w(); y += ymargin; add_subwindow (title = new BC_Title (x, y, _("Min. Brightness:"))); if(title->get_w() > x1) x1 = title->get_w(); y += ymargin; add_subwindow (title = new BC_Title (x, y, _("Max. Brightness:"))); if(title->get_w() > x1) x1 = title->get_w(); y += ymargin; add_subwindow (title = new BC_Title (x, y, _("Saturation Offset:"))); if(title->get_w() > x1) x1 = title->get_w(); y += ymargin; add_subwindow (title = new BC_Title (x, y, _("Min Saturation:"))); if(title->get_w() > x1) x1 = title->get_w(); y += ymargin2; add_subwindow(bar = new BC_Bar(x2, y, get_w() - x2 * 2)); y += bar->get_h() + 5; add_subwindow (title = new BC_Title (x2, y, _("Mask tweaking:"))); y += ymargin; add_subwindow (title = new BC_Title (x, y, _("In Slope:"))); if(title->get_w() > x1) x1 = title->get_w(); y += ymargin; add_subwindow (title = new BC_Title (x, y, _("Out Slope:"))); if(title->get_w() > x1) x1 = title->get_w(); y += ymargin; add_subwindow (title = new BC_Title (x, y, _("Alpha Offset:"))); if(title->get_w() > x1) x1 = title->get_w(); y += ymargin2; add_subwindow(bar = new BC_Bar(x2, y, get_w() - x2 * 2)); y += bar->get_h() + 5; add_subwindow (title = new BC_Title (x2, y, _("Spill light control:"))); y += ymargin; add_subwindow (title = new BC_Title (x, y, _("Spill Threshold:"))); if(title->get_w() > x1) x1 = title->get_w(); y += ymargin; add_subwindow (title = new BC_Title (x, y, _("Spill Compensation:"))); if(title->get_w() > x1) x1 = title->get_w(); y += ymargin; y = y1; y += ymargin; x1 += x; add_subwindow (tolerance = new ChromaKeyTolerance (plugin, x1, y)); y += ymargin; add_subwindow (min_brightness = new ChromaKeyMinBrightness (plugin, x1, y)); y += ymargin; add_subwindow (max_brightness = new ChromaKeyMaxBrightness (plugin, x1, y)); y += ymargin; add_subwindow (saturation = new ChromaKeySaturation (plugin, x1, y)); y += ymargin; add_subwindow (min_saturation = new ChromaKeyMinSaturation (plugin, x1, y)); y += ymargin; y += bar->get_h() + 5; y += ymargin2; add_subwindow (in_slope = new ChromaKeyInSlope (plugin, x1, y)); y += ymargin; add_subwindow (out_slope = new ChromaKeyOutSlope (plugin, x1, y)); y += ymargin; add_subwindow (alpha_offset = new ChromaKeyAlphaOffset (plugin, x1, y)); y += ymargin; y += bar->get_h() + 5; y += ymargin2; add_subwindow (spill_threshold = new ChromaKeySpillThreshold (plugin, x1, y)); y += ymargin; add_subwindow (spill_amount = new ChromaKeySpillAmount (plugin, x1, y)); color_thread = new ChromaKeyColorThread (plugin, this); update_sample (); show_window (); }
static void callback(void *userdata, Uint8 *stream, int len) { update_sample(stream,len); //writeToLogFile("sb call back\n"); }