#include "paneffect.h" #include #include #include #include #include "ui/labelslider.h" #include "ui/collapsiblewidget.h" PanEffect::PanEffect(Clip* c) : Effect(c, EFFECT_TYPE_AUDIO, AUDIO_PAN_EFFECT) { EffectRow* pan_row = add_row("Pan:"); pan_val = pan_row->add_field(EFFECT_FIELD_DOUBLE); pan_val->set_double_minimum_value(-100); pan_val->set_double_maximum_value(100); // set defaults pan_val->set_double_default_value(0); connect(pan_val, SIGNAL(changed()), this, SLOT(field_changed())); } void PanEffect::refresh() {} Effect* PanEffect::copy(Clip* c) { PanEffect* p = new PanEffect(c); copy_field_keyframes(p); return p; } void PanEffect::process_audio(quint8 *samples, int nb_bytes) { double pval = pan_val->get_double_value(-1); if (pval != 0) { for (int i=0;i> 8); samples[i+2] = (quint8) right_sample; samples[i+1] = (quint8) (left_sample >> 8); samples[i] = (quint8) left_sample; } } }