diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-09-13 16:13:18 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-09-13 16:13:18 +0000 |
| commit | 3ffc8b54aff2cf907d4c35dc9a9972005db51f36 (patch) | |
| tree | ce78caa00820dd4b08c34f3fd54c40b79eaa9064 /src/ui | |
| parent | d3fd87588a559dc23b29106cd8a7283ecc8b4507 (diff) | |
| download | qmmp-3ffc8b54aff2cf907d4c35dc9a9972005db51f36.tar.gz qmmp-3ffc8b54aff2cf907d4c35dc9a9972005db51f36.tar.bz2 qmmp-3ffc8b54aff2cf907d4c35dc9a9972005db51f36.zip | |
improved visalization
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@551 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/aboutdialog.cpp | 2 | ||||
| -rw-r--r-- | src/ui/configdialog.cpp | 6 | ||||
| -rw-r--r-- | src/ui/mainvisual.cpp | 24 | ||||
| -rw-r--r-- | src/ui/mainwindow.cpp | 3 | ||||
| -rw-r--r-- | src/ui/pluginitem.cpp | 14 | ||||
| -rw-r--r-- | src/ui/shadedvisual.cpp | 35 | ||||
| -rw-r--r-- | src/ui/shadedvisual.h | 2 | ||||
| -rw-r--r-- | src/ui/titlebar.cpp | 23 | ||||
| -rw-r--r-- | src/ui/visualmenu.cpp | 6 | ||||
| -rw-r--r-- | src/ui/visualmenu.h | 7 |
10 files changed, 45 insertions, 77 deletions
diff --git a/src/ui/aboutdialog.cpp b/src/ui/aboutdialog.cpp index 198b5a47c..128f89bc0 100644 --- a/src/ui/aboutdialog.cpp +++ b/src/ui/aboutdialog.cpp @@ -100,7 +100,7 @@ QString AboutDialog::loadAbout() text.append("</ul>"); text.append("<h5>"+tr("Visual plugins:")+"</h5>"); text.append("<ul type=\"square\">"); - foreach(VisualFactory *fact, *Visual::visualFactories()) + foreach(VisualFactory *fact, *Visual::factories()) { text.append("<li>"); text.append(fact->properties().name); diff --git a/src/ui/configdialog.cpp b/src/ui/configdialog.cpp index 185b4bfc0..a27a8cb31 100644 --- a/src/ui/configdialog.cpp +++ b/src/ui/configdialog.cpp @@ -258,8 +258,8 @@ void ConfigDialog::loadPluginsInfo() load visual plugin information */ QList <VisualFactory *> *visuals = 0; - visuals = Visual::visualFactories(); - files = Visual::visualFiles(); + visuals = Visual::factories(); + files = Visual::files(); ui.visualPluginTable->setColumnCount ( 3 ); ui.visualPluginTable->verticalHeader()->hide(); ui.visualPluginTable->setHorizontalHeaderLabels ( QStringList() @@ -434,7 +434,7 @@ void ConfigDialog::showPluginSettings() int row = ui.visualPluginTable->currentRow (); if ( m_visualPluginItems.isEmpty() || row < 0 ) return; - m_visualPluginItems.at(row)->factory()->showSettings ( this ); + Visual::showSettings(m_visualPluginItems.at(row)->factory(), this); break; } case 3: diff --git a/src/ui/mainvisual.cpp b/src/ui/mainvisual.cpp index 056bf79fd..0d491dab5 100644 --- a/src/ui/mainvisual.cpp +++ b/src/ui/mainvisual.cpp @@ -142,20 +142,18 @@ void MainVisual::timeout() { VisualNode *node = 0; - if (output()) + mutex()->lock (); + VisualNode *prev = 0; + while ((!m_nodes.isEmpty())) { - mutex()->lock (); - VisualNode *prev = 0; - while ((!m_nodes.isEmpty())) - { - node = m_nodes.takeFirst(); - if (prev) - delete prev; - prev = node; - } - mutex()->unlock(); - node = prev; + node = m_nodes.takeFirst(); + if (prev) + delete prev; + prev = node; } + mutex()->unlock(); + node = prev; + if (m_vis && node) { m_vis->process (node); @@ -166,7 +164,7 @@ void MainVisual::timeout() update(); m_draw = TRUE; } - else if (m_draw && !(output() && output()->isRunning())) + else if (m_draw) { m_draw = FALSE; m_pixmap = m_bg; diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index d63237df7..fdf2e1bd7 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -26,6 +26,7 @@ #include <math.h> #include <qmmp/soundcore.h> +#include <qmmp/visual.h> #include <qmmpui/generalhandler.h> #include <qmmpui/general.h> #include <qmmpui/playlistparser.h> @@ -138,6 +139,8 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option SLOT(changeTitle(const QString&))); connect(m_core, SIGNAL(bufferingProgress(int)), TextScroller::getPointer(), SLOT(setProgress(int)));*/ + Visual::initialize(this, m_visMenu, SLOT(updateActions())); + Visual::add(m_vis); diff --git a/src/ui/pluginitem.cpp b/src/ui/pluginitem.cpp index f606a7223..bbfdab306 100644 --- a/src/ui/pluginitem.cpp +++ b/src/ui/pluginitem.cpp @@ -80,7 +80,7 @@ bool OutputPluginItem::isSelected() OutputFactory *OutputPluginItem::factory() { - return m_factory; + return m_factory; } /*Visual*/ @@ -95,10 +95,7 @@ VisualPluginItem::~VisualPluginItem() void VisualPluginItem::select(bool on) { - /*if(on) - SoundCore::instance()->addVisual(m_factory, 0); - else - SoundCore::instance()->removeVisual(m_factory);*/ + Visual::setEnabled(m_factory, on); } bool VisualPluginItem::isSelected() @@ -108,7 +105,7 @@ bool VisualPluginItem::isSelected() VisualFactory *VisualPluginItem::factory() { - return m_factory; + return m_factory; } /*Effect*/ @@ -133,7 +130,7 @@ bool EffectPluginItem::isSelected() EffectFactory *EffectPluginItem::factory() { - return m_factory; + return m_factory; } /*General*/ @@ -157,6 +154,5 @@ bool GeneralPluginItem::isSelected() GeneralFactory *GeneralPluginItem::factory() { - return m_factory; + return m_factory; } - diff --git a/src/ui/shadedvisual.cpp b/src/ui/shadedvisual.cpp index 2dea3d419..2c9d0f3fa 100644 --- a/src/ui/shadedvisual.cpp +++ b/src/ui/shadedvisual.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007 by Ilya Kotov * + * Copyright (C) 2007-2008 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -99,30 +99,20 @@ void ShadedVisual::timeout() VisualNode *node = 0; m_pixmap.fill(m_skin->getVisColor(0)); - if ( /*playing &&*/ output()) + mutex()->lock (); + VisualNode *prev = 0; + while ((!m_nodes.isEmpty())) { - //output()->mutex()->lock (); - //long olat = output()->latency(); - //long owrt = output()->written(); - //output()->mutex()->unlock(); + node = m_nodes.takeFirst(); + /*if ( node->offset > synctime ) + break;*/ - //long synctime = owrt < olat ? 0 : owrt - olat; - - mutex()->lock (); - VisualNode *prev = 0; - while ((!m_nodes.isEmpty())) - { - node = m_nodes.takeFirst(); - /*if ( node->offset > synctime ) - break;*/ - - if (prev) - delete prev; - prev = node; - } - mutex()->unlock(); - node = prev; + if (prev) + delete prev; + prev = node; } + mutex()->unlock(); + node = prev; if (!node) return; @@ -202,4 +192,3 @@ void ShadedVisual::updateSkin() { clear(); } - diff --git a/src/ui/shadedvisual.h b/src/ui/shadedvisual.h index 0c1d6a37e..b1820a484 100644 --- a/src/ui/shadedvisual.h +++ b/src/ui/shadedvisual.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2007 by Ilya Kotov * + * Copyright (C) 2007-2008 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/ui/titlebar.cpp b/src/ui/titlebar.cpp index 400c9c2ec..d91bb3032 100644 --- a/src/ui/titlebar.cpp +++ b/src/ui/titlebar.cpp @@ -173,7 +173,7 @@ void TitleBar::shade() connect (m_control, SIGNAL (stopClicked()), parent(), SLOT (stop())); connect (m_control, SIGNAL (ejectClicked()), parent(), SLOT (addFile())); m_visual = new ShadedVisual(this); - //SoundCore::instance()->addVisualization(m_visual); + Visual::add(m_visual); m_visual->show(); m_visual->move(79,5); } @@ -184,7 +184,7 @@ void TitleBar::shade() m_shade2->deleteLater(); m_currentTime->deleteLater(); m_control->deleteLater(); - //SoundCore::instance()->removeVisual(m_visual); + Visual::remove(m_visual); m_visual->deleteLater(); m_shade2 = 0; m_currentTime = 0; @@ -209,25 +209,6 @@ QString TitleBar::formatTime ( int sec ) return str_minutes + ":" + str_seconds; } -//void TitleBar::setInfo(const OutputState &st) -//{ -/*if (!m_currentTime) - return;*/ -/*switch ( ( int ) st.type() ) -{ -case OutputState::Info: -{ - m_currentTime->display(formatTime(st.elapsedSeconds())); - break; -} -case OutputState::Stopped: -{ - m_currentTime->display("--:--"); - break; -} -}*/ -//} - void TitleBar::setTime(qint64 time) { if (!m_currentTime) diff --git a/src/ui/visualmenu.cpp b/src/ui/visualmenu.cpp index c0e0b2d2f..94a116057 100644 --- a/src/ui/visualmenu.cpp +++ b/src/ui/visualmenu.cpp @@ -30,7 +30,7 @@ VisualMenu::VisualMenu(QWidget *parent) : QMenu(tr("Visualization"), parent) { VisualFactory *factory = 0; - foreach(factory, *Visual::visualFactories()) + foreach(factory, *Visual::factories()) { QAction *act = this->addAction(factory->properties().name); act->setCheckable (TRUE); @@ -46,8 +46,8 @@ VisualMenu::~VisualMenu() void VisualMenu::updateActions() { - for(int i = 0; i < Visual::visualFactories()->size(); ++i) + for(int i = 0; i < Visual::factories()->size(); ++i) { - actions()[i]->setChecked(Visual::isEnabled(Visual::visualFactories()->at(i))); + actions()[i]->setChecked(Visual::isEnabled(Visual::factories()->at(i))); } } diff --git a/src/ui/visualmenu.h b/src/ui/visualmenu.h index 9202a8a7d..a4833974d 100644 --- a/src/ui/visualmenu.h +++ b/src/ui/visualmenu.h @@ -23,17 +23,18 @@ #include <QMenu> /** - @author Ilya Kotov <forkotov02@hotmail.ru> + @author Ilya Kotov <forkotov02@hotmail.ru> */ class VisualMenu : public QMenu { -Q_OBJECT + Q_OBJECT public: VisualMenu(QWidget *parent = 0); ~VisualMenu(); -void updateActions(); +public slots: + void updateActions(); }; |
