From 2556538c0d583c4800df9052338ebcebabc3ae58 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 5 Sep 2010 18:48:11 +0000 Subject: added crossfade plugin (experimental) (Closes issue 272) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1874 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Effect/crossfade/CMakeLists.txt | 61 ++++++++++++ src/plugins/Effect/crossfade/crossfade.pro | 44 +++++++++ src/plugins/Effect/crossfade/crossfadeplugin.cpp | 98 +++++++++++++++++++ src/plugins/Effect/crossfade/crossfadeplugin.h | 61 ++++++++++++ .../Effect/crossfade/effectcrossfadefactory.cpp | 64 +++++++++++++ .../Effect/crossfade/effectcrossfadefactory.h | 44 +++++++++ src/plugins/Effect/crossfade/settingsdialog.cpp | 44 +++++++++ src/plugins/Effect/crossfade/settingsdialog.h | 45 +++++++++ src/plugins/Effect/crossfade/settingsdialog.ui | 105 +++++++++++++++++++++ .../crossfade/translations/crossfade_plugin_cs.ts | 45 +++++++++ .../crossfade/translations/crossfade_plugin_de.ts | 45 +++++++++ .../crossfade/translations/crossfade_plugin_es.ts | 45 +++++++++ .../crossfade/translations/crossfade_plugin_it.ts | 45 +++++++++ .../crossfade/translations/crossfade_plugin_ja.ts | 45 +++++++++ .../crossfade/translations/crossfade_plugin_lt.ts | 45 +++++++++ .../crossfade/translations/crossfade_plugin_nl.ts | 45 +++++++++ .../crossfade/translations/crossfade_plugin_pl.ts | 45 +++++++++ .../crossfade/translations/crossfade_plugin_ru.ts | 45 +++++++++ .../crossfade/translations/crossfade_plugin_tr.ts | 45 +++++++++ .../translations/crossfade_plugin_uk_UA.ts | 45 +++++++++ .../translations/crossfade_plugin_zh_CN.ts | 45 +++++++++ .../translations/crossfade_plugin_zh_TW.ts | 45 +++++++++ .../Effect/crossfade/translations/translations.qrc | 18 ++++ 23 files changed, 1169 insertions(+) create mode 100644 src/plugins/Effect/crossfade/CMakeLists.txt create mode 100644 src/plugins/Effect/crossfade/crossfade.pro create mode 100644 src/plugins/Effect/crossfade/crossfadeplugin.cpp create mode 100644 src/plugins/Effect/crossfade/crossfadeplugin.h create mode 100644 src/plugins/Effect/crossfade/effectcrossfadefactory.cpp create mode 100644 src/plugins/Effect/crossfade/effectcrossfadefactory.h create mode 100644 src/plugins/Effect/crossfade/settingsdialog.cpp create mode 100644 src/plugins/Effect/crossfade/settingsdialog.h create mode 100644 src/plugins/Effect/crossfade/settingsdialog.ui create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_cs.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_de.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_es.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_it.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_ja.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_lt.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_nl.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_pl.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_ru.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_tr.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_uk_UA.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_zh_CN.ts create mode 100644 src/plugins/Effect/crossfade/translations/crossfade_plugin_zh_TW.ts create mode 100644 src/plugins/Effect/crossfade/translations/translations.qrc (limited to 'src/plugins/Effect/crossfade') diff --git a/src/plugins/Effect/crossfade/CMakeLists.txt b/src/plugins/Effect/crossfade/CMakeLists.txt new file mode 100644 index 000000000..ab63220df --- /dev/null +++ b/src/plugins/Effect/crossfade/CMakeLists.txt @@ -0,0 +1,61 @@ +project(libcrossfade) + +cmake_minimum_required(VERSION 2.4.7) + +if(COMMAND cmake_policy) +cmake_policy(SET CMP0003 NEW) +endif(COMMAND cmake_policy) + +# qt plugin +ADD_DEFINITIONS( -Wall ) +ADD_DEFINITIONS(${QT_DEFINITIONS}) +ADD_DEFINITIONS(-DQT_PLUGIN) +ADD_DEFINITIONS(-DQT_NO_DEBUG) +ADD_DEFINITIONS(-DQT_SHARED) +ADD_DEFINITIONS(-DQT_THREAD) + +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +SET(QT_INCLUDES + ${QT_INCLUDES} + ${CMAKE_CURRENT_SOURCE_DIR}/../../../ +) + +# libqmmp +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../) +link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp) + +SET(libcrossfade_SRCS + crossfadeplugin.cpp + settingsdialog.cpp + effectcrossfadefactory.cpp +) + +SET(libcrossfade_MOC_HDRS + crossfadeplugin.h + settingsdialog.h + effectcrossfadefactory.h +) + +SET(libcrossfade_RCCS translations/translations.qrc) + +QT4_ADD_RESOURCES(libcrossfade_RCC_SRCS ${libcrossfade_RCCS}) + +QT4_WRAP_CPP(libcrossfade_MOC_SRCS ${libcrossfade_MOC_HDRS}) + +# user interface + +SET(libcrossfade_UIS + settingsdialog.ui +) + +QT4_WRAP_UI(libcrossfade_UIS_H ${libcrossfade_UIS}) +# Don't forget to include output directory, otherwise +# the UI file won't be wrapped! +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + + +ADD_LIBRARY(crossfade MODULE ${libcrossfade_SRCS} ${libcrossfade_MOC_SRCS} ${libcrossfade_UIS_H} ${libcrossfade_RCC_SRCS}) +add_dependencies(crossfade qmmp) +target_link_libraries(crossfade ${QT_LIBRARIES} -lqmmp) +install(TARGETS crossfade DESTINATION ${LIB_DIR}/qmmp/Effect) diff --git a/src/plugins/Effect/crossfade/crossfade.pro b/src/plugins/Effect/crossfade/crossfade.pro new file mode 100644 index 000000000..d0cb964d7 --- /dev/null +++ b/src/plugins/Effect/crossfade/crossfade.pro @@ -0,0 +1,44 @@ +include(../../plugins.pri) + +HEADERS += crossfadeplugin.h \ + effectcrossfadefactory.h \ + settingsdialog.h + +SOURCES += crossfadeplugin.cpp \ + effectcrossfadefactory.cpp \ + settingsdialog.cpp + +TARGET =$$PLUGINS_PREFIX/Effect/crossfade +QMAKE_CLEAN =$$PLUGINS_PREFIX/Effect/libcrossfade.so +INCLUDEPATH += ../../../ +CONFIG += release \ +warn_on \ +plugin + +TEMPLATE = lib +QMAKE_LIBDIR += ../../../../lib +LIBS += -lqmmp -L/usr/lib -I/usr/include + +TRANSLATIONS = translations/crossfade_plugin_cs.ts \ + translations/crossfade_plugin_de.ts \ + translations/crossfade_plugin_zh_CN.ts \ + translations/crossfade_plugin_zh_TW.ts \ + translations/crossfade_plugin_uk_UA.ts \ + translations/crossfade_plugin_pl.ts \ + translations/crossfade_plugin_ru.ts \ + translations/crossfade_plugin_it.ts \ + translations/crossfade_plugin_tr.ts \ + translations/crossfade_plugin_lt.ts \ + translations/crossfade_plugin_nl.ts \ + translations/crossfade_plugin_ja.ts \ + translations/crossfade_plugin_es.ts +RESOURCES = translations/translations.qrc + +isEmpty(LIB_DIR){ + LIB_DIR = /lib +} +target.path = $$LIB_DIR/qmmp/Effect +INSTALLS += target + + +FORMS += settingsdialog.ui diff --git a/src/plugins/Effect/crossfade/crossfadeplugin.cpp b/src/plugins/Effect/crossfade/crossfadeplugin.cpp new file mode 100644 index 000000000..b937dd51b --- /dev/null +++ b/src/plugins/Effect/crossfade/crossfadeplugin.cpp @@ -0,0 +1,98 @@ +/*************************************************************************** + * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009 by Sebastian Pipping * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include +#include +#include +#include +#include "crossfadeplugin.h" + +CrossfadePlugin::CrossfadePlugin() : Effect() +{ + m_buffer = 0; + m_buffer_at = 0; + m_buffer_size = 0; + m_core = SoundCore::instance() ; + m_handler = StateHandler::instance(); + m_state = WAITING; + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + m_overlap = settings.value("Crossfade/overlap", 6000).toLongLong(); +} + +CrossfadePlugin::~CrossfadePlugin() +{ + if(m_buffer) + free(m_buffer); +} + +void CrossfadePlugin::applyEffect(Buffer *b) +{ + switch (m_state) + { + case WAITING: + if(m_core->totalTime() - m_handler->elapsed() < m_overlap + 2000) + { + StateHandler::instance()->sendNextTrackRequest(); + m_state = PREPARING; + } + return; + case PREPARING: + if(m_core->totalTime() - m_handler->elapsed() < m_overlap) + { + if(m_buffer_at + b->nbytes > m_buffer_size) + { + m_buffer_size = m_buffer_at + b->nbytes; + m_buffer = (uchar *)realloc(m_buffer, m_buffer_size); + } + memcpy(m_buffer + m_buffer_at, b->data, b->nbytes); + m_buffer_at += b->nbytes; + b->nbytes = 0; + return; + } + else if(m_buffer_at > 0) + m_state = PROCESSING; + else + return; + case PROCESSING: + if (m_buffer_at > 0) + { + double volume = (double)m_buffer_at/m_buffer_size; + uint size = qMin((ulong)m_buffer_at, b->nbytes); + for (uint i = 0; i < size / 2; i++) + { + ((short*)b->data)[i] =((short*)b->data)[i]*(1.0 - volume)+((short*)m_buffer)[i]*volume; + } + m_buffer_at -= size; + memmove(m_buffer, m_buffer + size, m_buffer_at); + } + else + m_state = WAITING; + default: + ; + } + return; +} + +void CrossfadePlugin::configure(quint32 freq, int chan, Qmmp::AudioFormat format) +{ + //m_buffer_size = m_overlap * freq * chan * AudioParameters::sampleSize(format) / 1000; + //m_buffer =(uchar *) malloc(m_buffer_size); + Effect::configure(freq, chan, format); +} diff --git a/src/plugins/Effect/crossfade/crossfadeplugin.h b/src/plugins/Effect/crossfade/crossfadeplugin.h new file mode 100644 index 000000000..ec025aded --- /dev/null +++ b/src/plugins/Effect/crossfade/crossfadeplugin.h @@ -0,0 +1,61 @@ +/*************************************************************************** + * Copyright (C) 2010 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +#ifndef CROSSFADEPLUGIN_H +#define CROSSFADEPLUGIN_H + +#include +#include + +class SoundCore; +class StateHandler; + +/** + @author Ilya Kotov +*/ + +class CrossfadePlugin : public Effect +{ +public: + CrossfadePlugin(); + + virtual ~CrossfadePlugin(); + + void applyEffect(Buffer *b); + void configure(quint32 freq, int chan, Qmmp::AudioFormat format); + +private: + enum State + { + WAITING = 0, + PREPARING, + PROCESSING, + }; + + uchar *m_buffer; + ulong m_buffer_at; + ulong m_buffer_size; + qint64 m_overlap; + int m_state; + SoundCore *m_core; + StateHandler *m_handler; + +}; + +#endif diff --git a/src/plugins/Effect/crossfade/effectcrossfadefactory.cpp b/src/plugins/Effect/crossfade/effectcrossfadefactory.cpp new file mode 100644 index 000000000..e11b73dee --- /dev/null +++ b/src/plugins/Effect/crossfade/effectcrossfadefactory.cpp @@ -0,0 +1,64 @@ +/*************************************************************************** + * Copyright (C) 2010 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include +#include +#include "effectcrossfadefactory.h" +#include "settingsdialog.h" +#include "crossfadeplugin.h" + +const EffectProperties EffectCrossfadeFactory::properties() const +{ + EffectProperties properties; + properties.name = tr("Crossfade Plugin"); + properties.shortName = "crossfade"; + properties.hasSettings = true; + properties.hasAbout = true; + properties.priority = EffectProperties::EFFECT_PRIORITY_LOW; + return properties; +} + +Effect *EffectCrossfadeFactory::create() +{ + return new CrossfadePlugin(); +} + +void EffectCrossfadeFactory::showSettings(QWidget *parent) +{ + SettingsDialog *dialog = new SettingsDialog(parent); + dialog->show(); +} + +void EffectCrossfadeFactory::showAbout(QWidget *parent) +{ + QMessageBox::about (parent, tr("About Crossfade Plugin"), + tr("Qmmp Crossfade Plugin")+"\n"+ + tr("Writen by: Ilya Kotov ")); +} + +QTranslator *EffectCrossfadeFactory::createTranslator(QObject *parent) +{ + QTranslator *translator = new QTranslator(parent); + QString locale = Qmmp::systemLanguageID(); + translator->load(QString(":/crossfade_plugin_") + locale); + return translator; +} + +Q_EXPORT_PLUGIN2(crossfade,EffectCrossfadeFactory) diff --git a/src/plugins/Effect/crossfade/effectcrossfadefactory.h b/src/plugins/Effect/crossfade/effectcrossfadefactory.h new file mode 100644 index 000000000..134bdb33c --- /dev/null +++ b/src/plugins/Effect/crossfade/effectcrossfadefactory.h @@ -0,0 +1,44 @@ +/*************************************************************************** + * Copyright (C) 2010 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +#ifndef EFFECTCROSSFADEFACTORY_H +#define EFFECTCROSSFADEFACTORY_H + +#include +#include +#include + +/** + @author Ilya Kotov +*/ +class EffectCrossfadeFactory : public QObject, public EffectFactory +{ +Q_OBJECT +Q_INTERFACES(EffectFactory); + +public: + const EffectProperties properties() const; + Effect *create(); + void showSettings(QWidget *parent); + void showAbout(QWidget *parent); + QTranslator *createTranslator(QObject *parent); +}; + + +#endif diff --git a/src/plugins/Effect/crossfade/settingsdialog.cpp b/src/plugins/Effect/crossfade/settingsdialog.cpp new file mode 100644 index 000000000..16643bbbf --- /dev/null +++ b/src/plugins/Effect/crossfade/settingsdialog.cpp @@ -0,0 +1,44 @@ +/*************************************************************************** + * Copyright (C) 2010 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include +#include +#include "settingsdialog.h" + +SettingsDialog::SettingsDialog(QWidget *parent) + : QDialog(parent) +{ + ui.setupUi(this); + setAttribute(Qt::WA_DeleteOnClose, true); + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + ui.overlapSpinBox->setValue(settings.value("Crossfade/overlap",6000).toInt()); +} + + +SettingsDialog::~SettingsDialog() +{ +} + +void SettingsDialog::accept() +{ + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + settings.setValue("Crossfade/overlap", ui.overlapSpinBox->value()); + QDialog::accept(); +} diff --git a/src/plugins/Effect/crossfade/settingsdialog.h b/src/plugins/Effect/crossfade/settingsdialog.h new file mode 100644 index 000000000..22d05152a --- /dev/null +++ b/src/plugins/Effect/crossfade/settingsdialog.h @@ -0,0 +1,45 @@ +/*************************************************************************** + * Copyright (C) 2010 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +#ifndef SETTINGSDIALOG_H +#define SETTINGSDIALOG_H + +#include +#include "ui_settingsdialog.h" + +/** + @author Ilya Kotov +*/ +class SettingsDialog : public QDialog +{ +Q_OBJECT +public: + SettingsDialog(QWidget *parent = 0); + + ~SettingsDialog(); + +public slots: + virtual void accept(); + +private: + Ui::SettingsDialog ui; + +}; + +#endif diff --git a/src/plugins/Effect/crossfade/settingsdialog.ui b/src/plugins/Effect/crossfade/settingsdialog.ui new file mode 100644 index 000000000..4e24b0abb --- /dev/null +++ b/src/plugins/Effect/crossfade/settingsdialog.ui @@ -0,0 +1,105 @@ + + + SettingsDialog + + + + 0 + 0 + 275 + 65 + + + + Crossfade Plugin Settings + + + + 6 + + + 6 + + + 6 + + + + + Overlap: + + + + + + + + 0 + 0 + + + + ms + + + 3000 + + + 12000 + + + 500 + + + + + + + + 0 + 0 + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + SettingsDialog + accept() + + + 270 + 76 + + + 91 + 88 + + + + + buttonBox + rejected() + SettingsDialog + reject() + + + 326 + 78 + + + 139 + 60 + + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_cs.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_cs.ts new file mode 100644 index 000000000..fe6c7f9fb --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_cs.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_de.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_de.ts new file mode 100644 index 000000000..d2bee16b6 --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_de.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_es.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_es.ts new file mode 100644 index 000000000..9ceb377e3 --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_es.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_it.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_it.ts new file mode 100644 index 000000000..f1cde6702 --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_it.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_ja.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_ja.ts new file mode 100644 index 000000000..5e3f6ff4d --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_ja.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_lt.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_lt.ts new file mode 100644 index 000000000..4c203e0d0 --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_lt.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_nl.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_nl.ts new file mode 100644 index 000000000..676c76629 --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_nl.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_pl.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_pl.ts new file mode 100644 index 000000000..d08b266f4 --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_pl.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_ru.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_ru.ts new file mode 100644 index 000000000..6cc0bb06d --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_ru.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + Модуль Crossfade + + + + About Crossfade Plugin + О модуле crossfade + + + + Qmmp Crossfade Plugin + Модуль crossfade для Qmmp + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + Разработчик: Илья Котов <forkotov02@hotmail.ru> + + + + SettingsDialog + + + Crossfade Plugin Settings + Настройки модуля crossfade + + + + Overlap: + Перекрытие: + + + + ms + мс + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_tr.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_tr.ts new file mode 100644 index 000000000..9a5fcf79b --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_tr.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_uk_UA.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_uk_UA.ts new file mode 100644 index 000000000..a3e1a4c22 --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_uk_UA.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_zh_CN.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_zh_CN.ts new file mode 100644 index 000000000..189febe13 --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_zh_CN.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/crossfade_plugin_zh_TW.ts b/src/plugins/Effect/crossfade/translations/crossfade_plugin_zh_TW.ts new file mode 100644 index 000000000..5562af6f0 --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/crossfade_plugin_zh_TW.ts @@ -0,0 +1,45 @@ + + + + + EffectCrossfadeFactory + + + Crossfade Plugin + + + + + About Crossfade Plugin + + + + + Qmmp Crossfade Plugin + + + + + Writen by: Ilya Kotov <forkotov02@hotmail.ru> + + + + + SettingsDialog + + + Crossfade Plugin Settings + + + + + Overlap: + + + + + ms + + + + diff --git a/src/plugins/Effect/crossfade/translations/translations.qrc b/src/plugins/Effect/crossfade/translations/translations.qrc new file mode 100644 index 000000000..51c66185c --- /dev/null +++ b/src/plugins/Effect/crossfade/translations/translations.qrc @@ -0,0 +1,18 @@ + + + + crossfade_plugin_it.qm + crossfade_plugin_cs.qm + crossfade_plugin_de.qm + crossfade_plugin_zh_CN.qm + crossfade_plugin_zh_TW.qm + crossfade_plugin_uk_UA.qm + crossfade_plugin_pl.qm + crossfade_plugin_ru.qm + crossfade_plugin_tr.qm + crossfade_plugin_lt.qm + crossfade_plugin_nl.qm + crossfade_plugin_ja.qm + crossfade_plugin_es.qm + + -- cgit v1.2.3-13-gbd6f