basic save support added

This commit is contained in:
itsmattkc
2018-06-10 00:14:29 -07:00
parent 1f8f3b0800
commit 94fae972cf
14 changed files with 196 additions and 25 deletions
+3
View File
@@ -3,6 +3,7 @@
#include "project/effect.h"
#include <QXmlStreamWriter>
class QSpinBox;
class QCheckBox;
@@ -52,6 +53,7 @@ public:
VolumeEffect(Clip* c);
void process_audio(uint8_t* samples, int nb_bytes);
Effect* copy();
void save(QXmlStreamWriter* stream);
QSpinBox* volume_val;
};
@@ -61,6 +63,7 @@ public:
PanEffect(Clip* c);
void process_audio(uint8_t* samples, int nb_bytes);
Effect* copy();
void save(QXmlStreamWriter* stream);
QSpinBox* pan_val;
};
+6 -5
View File
@@ -7,12 +7,9 @@
#include "ui/collapsiblewidget.h"
PanEffect::PanEffect(Clip* c) : Effect(c) {
container = new CollapsibleWidget();
container->setText(audio_effect_names[AUDIO_PAN_EFFECT]);
setup_effect(EFFECT_TYPE_AUDIO, AUDIO_PAN_EFFECT);
ui = new QWidget();
QGridLayout* ui_layout = new QGridLayout();
QGridLayout* ui_layout = new QGridLayout();
ui_layout->addWidget(new QLabel("Pan:"), 0, 0);
pan_val = new QSpinBox();
@@ -34,6 +31,10 @@ Effect* PanEffect::copy() {
return p;
}
void PanEffect::save(QXmlStreamWriter *stream) {
stream->writeTextElement("pan", QString::number(pan_val->value()));
}
void PanEffect::process_audio(uint8_t *samples, int nb_bytes) {
for (int i=0;i<nb_bytes;i+=4) {
int16_t left_sample = (int16_t) ((samples[i+1] << 8) | samples[i]);
+1 -4
View File
@@ -14,10 +14,7 @@
#include "io/media.h"
TransformEffect::TransformEffect(Clip* c) : Effect(c) {
container = new CollapsibleWidget();
container->setText(video_effect_names[VIDEO_TRANSFORM_EFFECT]);
ui = new QWidget();
setup_effect(EFFECT_TYPE_VIDEO, VIDEO_TRANSFORM_EFFECT);
QGridLayout* ui_layout = new QGridLayout();
+5 -4
View File
@@ -7,10 +7,7 @@
#include "ui/collapsiblewidget.h"
VolumeEffect::VolumeEffect(Clip* c) : Effect(c) {
container = new CollapsibleWidget();
container->setText(audio_effect_names[AUDIO_VOLUME_EFFECT]);
ui = new QWidget();
setup_effect(EFFECT_TYPE_AUDIO, AUDIO_VOLUME_EFFECT);
QGridLayout* ui_layout = new QGridLayout();
@@ -34,6 +31,10 @@ Effect* VolumeEffect::copy() {
return v;
}
void VolumeEffect::save(QXmlStreamWriter *stream) {
stream->writeTextElement("volume", QString::number(volume_val->value()));
}
void VolumeEffect::process_audio(uint8_t *samples, int nb_bytes) {
for (int i=0;i<nb_bytes;i+=2) {
int16_t full_sample = (int16_t) ((samples[i+1] << 8) | samples[i]);