finished new/load/save

This commit is contained in:
itsmattkc
2018-06-10 23:39:28 -07:00
parent 94fae972cf
commit 093b68cb67
28 changed files with 441 additions and 154 deletions
+4 -4
View File
@@ -17,17 +17,17 @@ qint8 audio_ibuffer[audio_ibuffer_size];
int audio_ibuffer_read = 0;
QVector<int> audio_ibuffer_write;
void init_audio(Sequence* s) {
void init_audio() {
if (audio_device_set) {
audio_output->stop();
delete audio_output;
audio_device_set = false;
}
if (s != NULL) {
if (sequence != NULL) {
QAudioFormat audio_format;
audio_format.setSampleRate(s->audio_frequency);
audio_format.setChannelCount(av_get_channel_layout_nb_channels(s->audio_layout));
audio_format.setSampleRate(sequence->audio_frequency);
audio_format.setChannelCount(av_get_channel_layout_nb_channels(sequence->audio_layout));
audio_format.setSampleSize(16);
audio_format.setCodec("audio/pcm");
audio_format.setByteOrder(QAudioFormat::LittleEndian);
+1 -1
View File
@@ -17,6 +17,6 @@ extern int audio_ibuffer_read;
//extern QVector<int> audio_ibuffer_write;
void clear_audio_ibuffer();
void init_audio(Sequence* s);
void init_audio();
#endif // AUDIO_H
+17
View File
@@ -5,7 +5,9 @@
#include "io/media.h"
#include "playback/audio.h"
#include "playback/cacher.h"
#include "panels/panels.h"
#include "panels/timeline.h"
#include "panels/viewer.h"
#include <algorithm>
extern "C" {
@@ -287,3 +289,18 @@ void retrieve_next_frame_raw_data(Clip* c, AVFrame* output) {
bool is_clip_active(Clip* c, long playhead) {
return c->timeline_in < playhead + ceil(c->sequence->frame_rate) && c->timeline_out > playhead;
}
void set_sequence(Sequence* s) {
if (sequence != NULL) {
// clean up - close all open clips
for (int i=0;i<sequence->clip_count();i++) {
Clip* c = sequence->get_clip(i);
if (c->open) {
close_clip(c);
}
}
}
sequence = s;
panel_timeline->update_sequence();
panel_viewer->update_sequence();
}
+1
View File
@@ -29,6 +29,7 @@ int retrieve_next_frame(Clip* c, AVFrame* f);
void retrieve_next_frame_raw_data(Clip* c, AVFrame* output);
bool is_clip_active(Clip* c, long playhead);
void get_next_audio(Clip* c, bool mix);
void set_sequence(Sequence* s);
struct ClipCacheData {
Clip& clip;