[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/multimedia/kmplayer/src
From: Koos Vriezen <koos.vriezen () xs4all ! nl>
Date: 2006-09-03 12:16:27
Message-ID: 1157285787.559191.24752.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 580390 by vriezen:
When playlist items or groups have a 'mplayeropts' attribute, add that
to the mplayer commandline
CCBUG: 133473
M +17 -18 kmplayerapp.cpp
M +2 -2 kmplayerplaylist.cpp
M +3 -0 kmplayerplaylist.h
M +14 -1 kmplayerprocess.cpp
--- trunk/extragear/multimedia/kmplayer/src/kmplayerapp.cpp #580389:580390
@@ -80,11 +80,12 @@
extern const char * strMPlayerGroup;
-static short id_node_recent_document = 25;
-static short id_node_recent_node = 26;
-static short id_node_group_node = 27;
-static short id_node_playlist_document = 28;
+static const short id_node_recent_document = 28;
+static const short id_node_recent_node = 29;
+static const short id_node_disk_document = 30;
+static const short id_node_disk_node = 31;
+
class KMPLAYER_NO_EXPORT ListsSource : public KMPlayer::URLSource {
public:
KDE_NO_CDTOR_EXPORT ListsSource (KMPlayer::PartBase * p)
@@ -159,7 +160,8 @@
};
KDE_NO_EXPORT void ListsSource::jump (KMPlayer::NodePtr e) {
- if (e->id >= id_node_recent_document && e->id <= id_node_playlist_document)
+ if (e->id <= id_node_recent_node &&
+ e->id >= KMPlayer::id_node_group_node)
e->activate ();
else
KMPlayer::URLSource::jump (e);
@@ -256,7 +258,7 @@
KDE_NO_CDTOR_EXPORT
Group::Group (KMPlayer::NodePtr & doc, KMPlayerApp * a, const QString & pn)
- : KMPlayer::Mrl (doc, id_node_group_node), app (a) {
+ : KMPlayer::Mrl (doc, KMPlayer::id_node_group_node), app (a) {
pretty_name = pn;
if (!pn.isEmpty ())
setAttribute ("title", pn);
@@ -292,7 +294,7 @@
}
KDE_NO_CDTOR_EXPORT Playlist::Playlist (KMPlayerApp *a, KMPlayer::PlayListNotify *n, bool plmode)
- : FileDocument (id_node_playlist_document, "Playlist://", n),
+ : FileDocument (KMPlayer::id_node_playlist_document, "Playlist://", n),
app(a),
playmode (plmode) {
pretty_name = i18n ("Persistent Playlists");
@@ -318,7 +320,7 @@
KDE_NO_CDTOR_EXPORT
PlaylistItem::PlaylistItem (KMPlayer::NodePtr & doc, KMPlayerApp * a, const QString &url)
- : KMPlayer::Mrl (doc, id_node_recent_node), app (a) {
+ : KMPlayer::Mrl (doc, KMPlayer::id_node_playlist_item), app (a) {
src = url;
setAttribute ("url", url);
}
@@ -333,7 +335,7 @@
KMPlayer::NodePtr pl = new Playlist (app, source, true);
QString data;
QString pn;
- if (parentNode ()->id == id_node_group_node) {
+ if (parentNode ()->id == KMPlayer::id_node_group_node) {
data = parentNode ()->innerXML ();
pn = parentNode ()->mrl ()->pretty_name;
} else {
@@ -346,7 +348,7 @@
KMPlayer::readXML (pl, inxml, QString::null, false);
pl->normalize ();
KMPlayer::NodePtr cur = pl->firstChild ();
- if (parentNode ()->id == id_node_group_node && cur) {
+ if (parentNode ()->id == KMPlayer::id_node_group_node && cur) {
KMPlayer::NodePtr sister = parentNode ()->firstChild ();
while (sister && cur && sister.ptr () != this) {
sister = sister->nextSibling ();
@@ -370,7 +372,7 @@
KDE_NO_CDTOR_EXPORT
PlaylistGroup::PlaylistGroup (KMPlayer::NodePtr & doc, KMPlayerApp * a, const QString & pn)
- : KMPlayer::Mrl (doc, id_node_group_node), app (a), playmode (false) {
+ : KMPlayer::Mrl (doc, KMPlayer::id_node_group_node), app (a), playmode (false) {
pretty_name = pn;
if (!pn.isEmpty ())
setAttribute ("title", pn);
@@ -378,7 +380,7 @@
KDE_NO_CDTOR_EXPORT
PlaylistGroup::PlaylistGroup (KMPlayer::NodePtr & doc, KMPlayerApp * a, bool lm)
- : KMPlayer::Mrl (doc, id_node_group_node), app (a), playmode (lm) {
+ : KMPlayer::Mrl (doc, KMPlayer::id_node_group_node), app (a), playmode (lm) {
}
KDE_NO_EXPORT KMPlayer::NodePtr PlaylistGroup::childFromTag (const QString & tag) {
@@ -650,7 +652,7 @@
recents->removeChild (c);
c = tmp;
} else {
- if (c->id == id_node_group_node)
+ if (c->id == KMPlayer::id_node_group_node)
more = c;
c = c->nextSibling ();
count++;
@@ -1393,8 +1395,8 @@
m_drop_list.clear ();
m_drop_after = after;
KMPlayer::NodePtr after_node = static_cast<KMPlayer::PlayListItem*> (after)->node;
- if (after_node->id == id_node_playlist_document ||
- after_node->id == id_node_group_node)
+ if (after_node->id == KMPlayer::id_node_playlist_document ||
+ after_node->id == KMPlayer::id_node_group_node)
after_node->defer (); // make sure it has loaded
if (de->source () == m_view->playList() &&
m_view->playList()->lastDragTreeId () == playlist_id)
@@ -1587,9 +1589,6 @@
//-----------------------------------------------------------------------------
-static short id_node_disk_document = 30;
-static short id_node_disk_node = 31;
-
class KMPLAYER_NO_EXPORT Disks : public KMPlayer::Document {
public:
Disks (KMPlayerApp * a);
--- trunk/extragear/multimedia/kmplayer/src/kmplayerplaylist.cpp #580389:580390
@@ -936,7 +936,7 @@
//-----------------------------------------------------------------------------
GenericURL::GenericURL (NodePtr & d, const QString & s, const QString & name)
- : Mrl (d) {
+ : Mrl (d, id_node_playlist_item) {
src = s;
if (!src.isEmpty ())
setAttribute (QString ("src"), src);
@@ -951,7 +951,7 @@
//-----------------------------------------------------------------------------
GenericMrl::GenericMrl (NodePtr & d, const QString & s, const QString & name, const QString & tag)
- : Mrl (d), node_name (tag) {
+ : Mrl (d, id_node_playlist_item), node_name (tag) {
src = s;
if (!src.isEmpty ())
setAttribute (QString ("src"), src);
--- trunk/extragear/multimedia/kmplayer/src/kmplayerplaylist.h #580389:580390
@@ -512,6 +512,9 @@
const short id_node_text = 5;
const short id_node_cdata = 6;
+const short id_node_group_node = 25;
+const short id_node_playlist_document = 26;
+const short id_node_playlist_item = 27;
/*
* Element node, XML node that can have attributes
*/
--- trunk/extragear/multimedia/kmplayer/src/kmplayerprocess.cpp #580389:580390
@@ -580,6 +580,20 @@
fprintf (stderr, " -sid %d", sid);
*m_process << " -sid " << QString::number (sid);
}
+ for (NodePtr n = m_mrl; n; n = n->parentNode ()) {
+ if (n->id != id_node_group_node && n->id != id_node_playlist_item)
+ break;
+ QString plops = convertNode <Element> (n)->getAttribute ("mplayeropts");
+ if (!plops.isNull ()) {
+ QStringList sl = QStringList::split (QChar (' '), plops);
+ for (int i = 0; i < sl.size (); ++i) {
+ QString plop = KProcess::quote (sl[i]);
+ fprintf (stderr, " %s", plop.ascii ());
+ *m_process << " " << plop;
+ }
+ break;
+ }
+ }
fprintf (stderr, " %s\n", args);
*m_process << " " << args;
@@ -590,7 +604,6 @@
for ( it = m_process->args().begin(); it != end; ++it ){
sMPArgs += (*it);
}
-
m_process->start (KProcess::NotifyOnExit, KProcess::All);
old_volume = viewer ()->view ()->controlPanel ()->volumeBar ()->value ();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic