X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frenderer.cpp;h=80ae7c38cd97792af94b12325210b0dd0edbcd39;hb=ec00934b188e717301b9fe2477f9a0993f5fb982;hp=600dcfad33af019b04cb9509272e52c0723828e8;hpb=c9090212afc0ffdaa2fc8e51962a7435ca0ce28e;p=kdenlive diff --git a/src/renderer.cpp b/src/renderer.cpp index 600dcfad..80ae7c38 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -64,7 +64,7 @@ static void consumer_frame_show(mlt_consumer, Render * self, mlt_frame frame_ptr #ifdef Q_WS_MAC self->showFrame(frame); #endif - + self->showAudio(frame); self->emitFrameNumber(mlt_frame_get_position(frame_ptr)); if (self->sendFrameForAnalysis && frame_ptr->convert_image) { self->emitFrameUpdated(frame); @@ -1493,6 +1493,47 @@ void Render::showFrame(Mlt::Frame& frame) } #endif +void Render::showAudio(Mlt::Frame& frame) +{ + mlt_audio_format audio_format=mlt_audio_pcm; + int freq,num_channels,samples; + uint8_t* data=(uint8_t*)frame.get_audio(audio_format,freq,num_channels,samples); + if (!data) + return; + int value=0; + QByteArray channels; + + for (int i=0;i> 8 ); + break; + case 2: + value=( ((uint32_t*)data) [i] >> 16 ); + break; + case 3: + value=( ((float*)data) [i]*255); + break; + default: + value=0; + } + */ + long val=0; + int num_samples=20; + for (int s=0;s0) + emit showAudioSignal(channels); +} /* * MLT playlist direct manipulation.