|
|
|
#include "dcopiface.h"
|
|
|
|
|
|
|
|
#include <noatun/player.h>
|
|
|
|
#include <noatun/app.h>
|
|
|
|
#include <noatunarts/noatunarts.h>
|
|
|
|
#include <noatun/engine.h>
|
|
|
|
|
|
|
|
#include <dcopclient.h>
|
|
|
|
|
|
|
|
extern "C"
|
|
|
|
{
|
|
|
|
KDE_EXPORT NIF *create_plugin()
|
|
|
|
{
|
|
|
|
return new NIF();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
NIF::NIF() : Plugin(), DCOPObject("Noatun")
|
|
|
|
{
|
|
|
|
mLastVolume = 0;
|
|
|
|
// connect(napp->player(), TQT_SIGNAL(newSong()), TQT_SLOT(newSongPlaying()));
|
|
|
|
}
|
|
|
|
|
|
|
|
NIF::~NIF()
|
|
|
|
{
|
|
|
|
kapp->dcopClient()->emitDCOPSignal("exiting()", TQByteArray());
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::toggleListView()
|
|
|
|
{
|
|
|
|
napp->player()->toggleListView();
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::handleButtons()
|
|
|
|
{
|
|
|
|
napp->player()->handleButtons();
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::removeCurrent()
|
|
|
|
{
|
|
|
|
napp->player()->removeCurrent();
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::back()
|
|
|
|
{
|
|
|
|
napp->player()->back();
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::stop()
|
|
|
|
{
|
|
|
|
napp->player()->stop();
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::play()
|
|
|
|
{
|
|
|
|
napp->player()->play();
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::playpause()
|
|
|
|
{
|
|
|
|
napp->player()->playpause();
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::forward()
|
|
|
|
{
|
|
|
|
napp->player()->forward();
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::skipTo(int msec)
|
|
|
|
{
|
|
|
|
napp->player()->skipTo(msec);
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::loop()
|
|
|
|
{
|
|
|
|
napp->player()->loop();
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::setVolume(int i)
|
|
|
|
{
|
|
|
|
napp->player()->setVolume(i);
|
|
|
|
}
|
|
|
|
|
|
|
|
int NIF::volume()
|
|
|
|
{
|
|
|
|
return napp->player()->volume();
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::volumeUp()
|
|
|
|
{
|
|
|
|
napp->player()->setVolume(napp->player()->volume() + 5);
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::volumeDown()
|
|
|
|
{
|
|
|
|
napp->player()->setVolume(napp->player()->volume() - 5);
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::toggleMute()
|
|
|
|
{
|
|
|
|
int currVol = napp->player()->volume();
|
|
|
|
if (currVol == 0)
|
|
|
|
{
|
|
|
|
napp->player()->setVolume(mLastVolume);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
mLastVolume = currVol;
|
|
|
|
napp->player()->setVolume(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
int NIF::length() // returns -1 if there's no playobject
|
|
|
|
{
|
|
|
|
return napp->player()->getLength();
|
|
|
|
}
|
|
|
|
|
|
|
|
int NIF::position() // returns -1 if there's no playobject
|
|
|
|
{
|
|
|
|
return napp->player()->getTime();
|
|
|
|
}
|
|
|
|
|
|
|
|
int NIF::state()
|
|
|
|
{
|
|
|
|
if (napp->player()->isPlaying())
|
|
|
|
return 2;
|
|
|
|
if (napp->player()->isPaused())
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
return 0; // default to stopped
|
|
|
|
}
|
|
|
|
|
|
|
|
TQString NIF::lengthString()
|
|
|
|
{
|
|
|
|
return napp->player()->current() ? napp->player()->current().lengthString() : "";
|
|
|
|
}
|
|
|
|
|
|
|
|
TQString NIF::timeString()
|
|
|
|
{
|
|
|
|
return napp->player()->lengthString();
|
|
|
|
}
|
|
|
|
|
|
|
|
TQString NIF::title()
|
|
|
|
{
|
|
|
|
return napp->player()->current() ? napp->player()->current().title() : "";
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::setCurrentProperty(const TQString &key, const TQString &value)
|
|
|
|
{
|
|
|
|
if (!napp->player()->current()) return;
|
|
|
|
|
|
|
|
napp->player()->current().setProperty(key, value);
|
|
|
|
}
|
|
|
|
|
|
|
|
TQString NIF::currentProperty(const TQString &key)
|
|
|
|
{
|
|
|
|
if (!napp->player()->current()) return "";
|
|
|
|
|
|
|
|
return napp->player()->current().property(key);
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::clearCurrentProperty(const TQString &key)
|
|
|
|
{
|
|
|
|
if (!napp->player()->current()) return;
|
|
|
|
|
|
|
|
return napp->player()->current().clearProperty(key);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
TQCString NIF::visStack()
|
|
|
|
{
|
|
|
|
return napp->player()->engine()->visualizationStack()->toString().c_str();
|
|
|
|
}
|
|
|
|
|
|
|
|
TQCString NIF::session()
|
|
|
|
{
|
|
|
|
return napp->player()->engine()->session()->toString().c_str();
|
|
|
|
}
|
|
|
|
|
|
|
|
// adds one file to the playlist
|
|
|
|
void NIF::addFile(const TQString& f, bool autoplay)
|
|
|
|
{
|
|
|
|
napp->player()->openFile(f, false, autoplay);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Adds a bunch of files to the playlist
|
|
|
|
void NIF::addFile(const TQStringList &f, bool autoplay)
|
|
|
|
{
|
|
|
|
for (TQStringList::ConstIterator it = f.begin(); it != f.end(); ++it )
|
|
|
|
napp->player()->openFile(*it, false, autoplay);
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::loadPlugin(const TQString &spec)
|
|
|
|
{
|
|
|
|
napp->libraryLoader()->add(spec);
|
|
|
|
}
|
|
|
|
|
|
|
|
TQStringList NIF::availablePlugins() {
|
|
|
|
TQStringList available_spec_files;
|
|
|
|
TQValueList<NoatunLibraryInfo> available;
|
|
|
|
|
|
|
|
available = napp->libraryLoader()->available();
|
|
|
|
|
|
|
|
TQValueList<NoatunLibraryInfo>::iterator it;
|
|
|
|
for (it = available.begin();it != available.end();it++) {
|
|
|
|
available_spec_files += (*it).specfile;
|
|
|
|
}
|
|
|
|
|
|
|
|
return available_spec_files;
|
|
|
|
}
|
|
|
|
|
|
|
|
TQStringList NIF::loadedPlugins() {
|
|
|
|
TQStringList loaded_spec_files;
|
|
|
|
TQValueList<NoatunLibraryInfo> loaded;
|
|
|
|
|
|
|
|
loaded = napp->libraryLoader()->loaded();
|
|
|
|
|
|
|
|
TQValueList<NoatunLibraryInfo>::iterator it;
|
|
|
|
for (it = loaded.begin();it != loaded.end();it++) {
|
|
|
|
loaded_spec_files += (*it).specfile;
|
|
|
|
}
|
|
|
|
|
|
|
|
return loaded_spec_files;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool NIF::unloadPlugin(const TQString &spec)
|
|
|
|
{
|
|
|
|
return napp->libraryLoader()->remove(spec);
|
|
|
|
}
|
|
|
|
|
|
|
|
TQStringList NIF::mimeTypes()
|
|
|
|
{
|
|
|
|
return napp->mimeTypes();
|
|
|
|
}
|
|
|
|
|
|
|
|
TQCString NIF::version()
|
|
|
|
{
|
|
|
|
return napp->version();
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::newSongPlaying()
|
|
|
|
{
|
|
|
|
kapp->dcopClient()->emitDCOPSignal("newFile()", TQByteArray());
|
|
|
|
}
|
|
|
|
|
|
|
|
void NIF::clear()
|
|
|
|
{
|
|
|
|
napp->playlist()->clear();
|
|
|
|
}
|