X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frenderer.cpp;h=1c397d3b4aa8b2d4afa663a5cca961cb1a26faae;hb=2950bfaa74c8dbc91e72634a8c2efbc107f571ae;hp=d4ae97559cb458e20382927add81f2f93ea70f79;hpb=49770493349aad0bdad0a09a77c8ebccc35098bc;p=kdenlive diff --git a/src/renderer.cpp b/src/renderer.cpp index d4ae9755..1c397d3b 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -67,7 +67,7 @@ static void consumer_frame_show(mlt_consumer, Render * self, mlt_frame frame_ptr } } -Render::Render(const QString & rendererName, int winid, int /* extid */, QWidget *parent) : +Render::Render(const QString & rendererName, int winid, int /* extid */, QString profile, QWidget *parent) : QObject(parent), m_isBlocked(0), m_name(rendererName), @@ -84,14 +84,12 @@ Render::Render(const QString & rendererName, int winid, int /* extid */, QWidget , m_glWidget(0) #endif { - kDebug() << "////////// USING PROFILE: " << (char*)KdenliveSettings::current_profile().toUtf8().data(); - /*if (rendererName == "project") m_monitorId = 10000; else m_monitorId = 10001;*/ /*m_osdTimer = new QTimer(this); connect(m_osdTimer, SIGNAL(timeout()), this, SLOT(slotOsdTimeout()));*/ - - buildConsumer(); + if (profile.isEmpty()) profile = KdenliveSettings::current_profile(); + buildConsumer(profile); m_mltProducer = m_blackClip->cut(0, 50); m_mltConsumer->connect(*m_mltProducer); @@ -151,10 +149,10 @@ void Render::closeMlt() } -void Render::buildConsumer() +void Render::buildConsumer(const QString profileName) { char *tmp; - m_activeProfile = KdenliveSettings::current_profile(); + m_activeProfile = profileName; tmp = decodedString(m_activeProfile); setenv("MLT_PROFILE", tmp, 1); delete m_blackClip; @@ -232,14 +230,14 @@ void Render::buildConsumer() } -int Render::resetProfile() +int Render::resetProfile(const QString profileName) { if (!m_mltConsumer) return 0; - if (m_activeProfile == KdenliveSettings::current_profile()) { + if (m_activeProfile == profileName) { kDebug() << "reset to same profile, nothing to do"; return 1; } - kDebug() << "// RESETTING PROFILE FROM: " << m_activeProfile << " TO: " << KdenliveSettings::current_profile(); + kDebug() << "// RESETTING PROFILE FROM: " << m_activeProfile << " TO: " << profileName; //KdenliveSettings::current_profile(); if (m_isSplitView) slotSplitView(false); if (!m_mltConsumer->is_stopped()) m_mltConsumer->stop(); m_mltConsumer->purge(); @@ -270,7 +268,7 @@ int Render::resetProfile() } m_mltProducer = NULL; - buildConsumer(); + buildConsumer(profileName); double new_fps = m_mltProfile->fps(); if (current_fps != new_fps) { // fps changed, we must update the scenelist positions