You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdemultimedia/noatun/modules/dcopiface/dcopiface.cpp

251 lines
4.2 KiB

#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(), TQ_SIGNAL(newSong()), TQ_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();
}