msgstr "Audioeffekt hinzufügen"
msgid "Add Clip"
-msgstr "Mediendatei hinzufügen"
+msgstr "Datei hinzufügen"
msgid "Add Color Clip"
msgstr "Farbeclip hinzufügen"
msgstr "Ordner hinzufügen"
msgid "Add keyframe"
-msgstr ""
+msgstr "Keyframe hinzufügen"
msgid "Add new effect"
-msgstr ""
+msgstr "Neuen Effekt hinzufügen"
msgid "Add timeline clip"
msgstr ""
msgstr "Übergang zu Clip hinzufügen"
msgid "Advanced"
-msgstr ""
+msgstr "Erweitert"
msgid "All"
-msgstr ""
+msgstr "Alle"
msgid "Allow horizontal moves"
msgstr ""
msgstr ""
msgid "Audio"
-msgstr "Ton"
+msgstr ""
msgid "Audio clip"
msgstr "Musikstück"
msgstr ""
msgid "Button 1"
-msgstr ""
+msgstr "Knopf 1"
msgid "Button 2"
-msgstr ""
+msgstr "Knopf 2"
msgid "Button 3"
-msgstr ""
+msgstr "Knopf 3"
msgid "Button 4"
-msgstr ""
+msgstr "Knopf 4"
msgid "Button 5"
-msgstr ""
+msgstr "Knopf 5"
msgid "Cannot find the inigo program required for rendering (part of Mlt)"
msgstr ""
msgstr "Farbe"
msgid "Color Clip"
-msgstr "Farb-Clip"
+msgstr "Farbclip"
msgid "Color clip"
-msgstr "Farbeclip"
+msgstr "Farbclip"
msgid "Color clips"
-msgstr "Farbeclips"
+msgstr "Farbclips"
msgid "Connect"
msgstr ""
"Einstellungen nicht. Bitte beheben Sie dieses Problem."
msgid "Create"
-msgstr ""
+msgstr "Erstellen"
msgid "Create Folder"
msgstr "Verzeichnis erstellen"
msgstr ""
msgid "Default Durations"
-msgstr ""
+msgstr "Standarddauer"
msgid "Default Profile"
msgstr "Standardprofil"
msgid "Default capture device"
-msgstr ""
+msgstr "Standardaufnahmegerät"
msgid "Default folders"
-msgstr ""
+msgstr "Standardverzeichnis"
msgid "Default format"
-msgstr ""
+msgstr "Standardformat"
msgid "Delete"
-msgstr ""
+msgstr "Löschen"
#, kde-format
msgid "Delete %1"
-msgstr ""
+msgstr "Lösche %1"
msgid "Delete Clip"
msgstr "Clip löschen"
msgstr ""
msgid "Delete profile"
-msgstr ""
+msgstr "Profil löschen"
msgid "Delete timeline clip"
-msgstr ""
+msgstr "Datei aus Zeitleiste entfernen"
msgid "Delete transition from clip"
-msgstr ""
+msgstr "Übergang von Datei löschen"
msgid "Description"
msgstr "Beschreibung"
msgid "Device"
-msgstr ""
+msgstr "Gerät"
msgid "Device configuration"
msgstr ""
msgstr ""
msgid "Disonnect"
-msgstr ""
+msgstr "Trennen"
msgid "Display"
-msgstr ""
+msgstr "Anzeige"
msgid "Display ratio"
msgstr ""
msgstr "Verzeichnis"
msgid "Force aspect ratio"
-msgstr ""
+msgstr "Seitenverhältnis erzwingen"
msgid "Form"
msgstr ""
msgstr "Projekteinstellungen"
msgid "Project Tree"
-msgstr "Projekt Baum"
+msgstr "Projektinhalt"
msgid "Project folder"
msgstr "Projektverzeichnis"
msgstr "Änderungen des Dokumentes speichern"
msgid "Selected zone only"
-msgstr "Teilstück markieren"
+msgstr "nur markiertes Teilstück"
msgid "Show audio thumbnails"
msgstr "zeige Tonspur"
msgstr "Kein Clip vorhanden, kann kein Frame extrahieren."
msgid "Thumbnail"
-msgstr "Mini-Bild"
+msgstr "Vorschau"
msgid "Thumbnails"
-msgstr "Mini-Bilder"
+msgstr "Vorschau"
msgid "Thumbnails:"
-msgstr "Mini-Bilder:"
+msgstr "Vorschau:"
msgid "Timeline"
msgstr "Zeitleiste"
#include "ui_colorval_ui.h"
#include "complexparameter.h"
-static QMap<QString, QIcon> iconCache;
+QMap<QString, QImage> EffectStackEdit::iconCache;
EffectStackEdit::EffectStackEdit(QFrame* frame, QWidget *parent): QObject(parent) {
QScrollArea *area;
for (int i = 0;i < lsval->list->count();i++) {
QString entry = lsval->list->itemText(i);
if (!entry.isEmpty() && (entry.endsWith(".png") || entry.endsWith(".pgm"))) {
- if (!iconCache.contains(entry)) {
- QPixmap pix(entry);
- iconCache[entry] = pix.scaled(30, 30);
- }
+ /*if (!EffectStackEdit::iconCache.contains(entry)) {
+ QPixmap pix(entry);
+ EffectStackEdit::iconCache[entry] = pix.scaled(30, 30);
+ }*/
lsval->list->setIconSize(QSize(30, 30));
- lsval->list->setItemIcon(i, iconCache[entry]);
+ lsval->list->setItemIcon(i, QPixmap::fromImage(iconCache[entry]));
}
}
connect(lsval->list, SIGNAL(currentIndexChanged(int)) , this, SLOT(collectAllParameters()));
Q_OBJECT
public:
EffectStackEdit(QFrame* frame, QWidget *parent);
+ static QMap<QString, QImage> iconCache;
private:
void clearAllItems();
QVBoxLayout *vbox;
#include <QFile>
#include <qregexp.h>
#include <QDir>
+#include <QIcon>
#include <KDebug>
#include <kglobal.h>
#include "initeffects.h"
#include "kdenlivesettings.h"
#include "effectslist.h"
+#include "effectstackedit.h"
+
+initEffectsThumbnailer::initEffectsThumbnailer() {
+ connect(this, SIGNAL(prepareThumbnails(const QStringList&)), this, SLOT(slotPrepareThumbnails(const QStringList&)), Qt::QueuedConnection);
+}
+
+void initEffectsThumbnailer::prepareThumbnailsCall(const QStringList& list) {
+ m_list = list;
+ start();
+ kDebug() << "done";
+}
+
+void initEffectsThumbnailer::run() {
+ foreach(QString entry, m_list) {
+ kDebug() << entry;
+ if (!entry.isEmpty() && (entry.endsWith(".png") || entry.endsWith(".pgm"))) {
+ if (!EffectStackEdit::iconCache.contains(entry)) {
+ QImage pix(entry);
+ //if (!pix.isNull())
+ EffectStackEdit::iconCache[entry] = pix.scaled(30, 30);
+ kDebug() << "stored";
+ }
+ }
+ }
+}
+
+initEffectsThumbnailer initEffects::thumbnailer;
initEffects::initEffects() {
+
}
initEffects::~initEffects() {
mlt_properties_dir_list(entries.get_properties(), path.toAscii().data(), "*.*", 1);
kDebug() << path << entries.count();
QString imagefiles;
+ QStringList imagelist;
for (int i = 0;i < entries.count();i++) {
//if (!imagefiles.isEmpty()) // add empty entry too
imagefiles.append(",");
imagefiles.append(entries.get(i));
+ imagelist << entries.get(i);
}
paramList.append(quickParameterFill(ret, "Softness", "softness", "double", "0", "0", "100", "", "100"));
paramList.append(quickParameterFill(ret, "Invert", "invert", "bool", "0", "0", "1"));
paramList.append(quickParameterFill(ret, "ImageFile", "resource", "list", "", "", "", imagefiles));
-
+ thumbnailer.prepareThumbnailsCall(imagelist);
} else if (name == "composite") {
paramList.append(quickParameterFill(ret, "Geometry", "geometry", "geometry", "0%,0%:100%x100%", "0%,0%:100%x100%", "0%,0%:100%x100%"));
#include <klocale.h>
#include <QDomDocument>
+#include <QThread>
#include <mlt++/Mlt.h>
class EffectsList;
-class initEffects {
+class initEffectsThumbnailer : public QThread {
+ Q_OBJECT
+public:
+ initEffectsThumbnailer();
+ void prepareThumbnailsCall(const QStringList&);
+ void run();
+private :
+ QStringList m_list;
+
+};
+
+class initEffects : public QObject {
+
public:
initEffects();
~initEffects();
static char* ladspaPitchShifterEffectString(QStringList params);
static char* ladspaPhaserEffectString(QStringList params);
static char* ladspaRateScalerEffectString(QStringList params);
+private:
+ static initEffectsThumbnailer thumbnailer;
};