aboutsummaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-09-13 16:13:18 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-09-13 16:13:18 +0000
commit3ffc8b54aff2cf907d4c35dc9a9972005db51f36 (patch)
treece78caa00820dd4b08c34f3fd54c40b79eaa9064 /src/ui
parentd3fd87588a559dc23b29106cd8a7283ecc8b4507 (diff)
downloadqmmp-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.cpp2
-rw-r--r--src/ui/configdialog.cpp6
-rw-r--r--src/ui/mainvisual.cpp24
-rw-r--r--src/ui/mainwindow.cpp3
-rw-r--r--src/ui/pluginitem.cpp14
-rw-r--r--src/ui/shadedvisual.cpp35
-rw-r--r--src/ui/shadedvisual.h2
-rw-r--r--src/ui/titlebar.cpp23
-rw-r--r--src/ui/visualmenu.cpp6
-rw-r--r--src/ui/visualmenu.h7
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();
};