thumbnail/waveform generation
This commit is contained in:
+2
-2
@@ -51,7 +51,7 @@ private:
|
||||
class VolumeEffect : public Effect {
|
||||
public:
|
||||
VolumeEffect(Clip* c);
|
||||
void process_audio(uint8_t* samples, int nb_bytes);
|
||||
void process_audio(quint8* samples, int nb_bytes);
|
||||
Effect* copy(Clip* c);
|
||||
void load(QXmlStreamReader* stream);
|
||||
void save(QXmlStreamWriter* stream);
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
class PanEffect : public Effect {
|
||||
public:
|
||||
PanEffect(Clip* c);
|
||||
void process_audio(uint8_t* samples, int nb_bytes);
|
||||
void process_audio(quint8* samples, int nb_bytes);
|
||||
Effect* copy(Clip* c);
|
||||
void load(QXmlStreamReader* stream);
|
||||
void save(QXmlStreamWriter* stream);
|
||||
|
||||
@@ -45,10 +45,10 @@ void PanEffect::save(QXmlStreamWriter *stream) {
|
||||
stream->writeTextElement("pan", QString::number(pan_val->value()));
|
||||
}
|
||||
|
||||
void PanEffect::process_audio(uint8_t *samples, int nb_bytes) {
|
||||
void PanEffect::process_audio(quint8 *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]);
|
||||
int16_t right_sample = (int16_t) ((samples[i+3] << 8) | samples[i+2]);
|
||||
qint16 left_sample = (qint16) ((samples[i+1] << 8) | samples[i]);
|
||||
qint16 right_sample = (qint16) ((samples[i+3] << 8) | samples[i+2]);
|
||||
|
||||
float val = pan_val->value()*0.01;
|
||||
if (val < 0) {
|
||||
@@ -59,9 +59,9 @@ void PanEffect::process_audio(uint8_t *samples, int nb_bytes) {
|
||||
left_sample *= (1-val);
|
||||
}
|
||||
|
||||
samples[i+3] = (uint8_t) (right_sample >> 8);
|
||||
samples[i+2] = (uint8_t) right_sample;
|
||||
samples[i+1] = (uint8_t) (left_sample >> 8);
|
||||
samples[i] = (uint8_t) left_sample;
|
||||
samples[i+3] = (quint8) (right_sample >> 8);
|
||||
samples[i+2] = (quint8) right_sample;
|
||||
samples[i+1] = (quint8) (left_sample >> 8);
|
||||
samples[i] = (quint8) left_sample;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,11 +45,11 @@ void VolumeEffect::save(QXmlStreamWriter *stream) {
|
||||
stream->writeTextElement("volume", QString::number(volume_val->value()));
|
||||
}
|
||||
|
||||
void VolumeEffect::process_audio(uint8_t *samples, int nb_bytes) {
|
||||
void VolumeEffect::process_audio(quint8 *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]);
|
||||
qint16 full_sample = (qint16) ((samples[i+1] << 8) | samples[i]);
|
||||
full_sample *= volume_val->value()*0.01;
|
||||
samples[i+1] = (uint8_t) (full_sample >> 8);
|
||||
samples[i] = (uint8_t) full_sample;
|
||||
samples[i+1] = (quint8) (full_sample >> 8);
|
||||
samples[i] = (quint8) full_sample;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user