1
1
/* smplayer, GUI front-end for mplayer.
2
Copyright (C) 2006-2010 Ricardo Villalba <rvm@escomposlinux.org>
2
Copyright (C) 2006-2012 Ricardo Villalba <rvm@users.sourceforge.net>
4
4
This program is free software; you can redistribute it and/or modify
5
5
it under the terms of the GNU General Public License as published by
58
58
QRegExp rx_open_files("(^open_files|^add_files) (.*)");
59
59
QRegExp rx_function("^(function|f) (.*)");
60
60
QRegExp rx_loadsub("^load_sub (.*)");
61
QRegExp rx_playItem("^play item ([0-9]+)");
62
QRegExp rx_moveItem("^move item ([0-9]+) ([+-]?[0-9]+)");
63
QRegExp rx_removeItem("^remove item (\\*|[0-9]+)");
64
QRegExp rx_seek("^seek ([0-9]*\\.*[0-9]*)");
65
QRegExp rx_get("^get (.*)");
66
QRegExp rx_setVol("^set volume ([0-9]+)");
63
68
if (str.toLower() == "hello") {
64
69
sendText(QString("Hello, this is SMPlayer %1").arg(smplayerVersion()));
72
77
sendText(" function [function_name]");
73
78
sendText(" f [function_name]");
74
79
sendText(" open [file]");
80
sendText(" open_files_start \\n open_files [file1] \\n open_files [file2] \\n ... open_files_end");
81
sendText(" add_files_start \\n add_files [file1] \\n add_files [file2] \\n ... add_files_end");
82
sendText(" remove item [index]");
83
sendText(" play item [index]");
84
sendText(" move item [index] [shift]");
85
sendText(" view playlist");
86
sendText(" view status");
87
sendText(" view clip info");
88
sendText(" seek [position]");
89
sendText(" get [action]");
90
sendText(" get volume");
91
sendText(" set volume [value]");
77
94
if (str.toLower() == "quit") {
84
101
sendText( actions_list[n] );
105
if (rx_playItem.indexIn(str) > -1) {
106
QString index = rx_playItem.cap(1);
107
qDebug("Connection::parseLine: asked to play file #%s.", index.toUtf8().data());
108
sendText("OK, command sent to GUI.");
109
emit receivedPlayItem(index.toInt());
112
if (rx_removeItem.indexIn(str) > -1) {
113
QString index = rx_removeItem.cap(1);
114
qDebug("Connection::parseLine: asked to remove file %s.", index.toUtf8().data());
115
sendText("OK, command sent to GUI.");
116
emit receivedRemoveItem(index == "*" ? -1 : index.toInt());
119
if (rx_moveItem.indexIn(str) > -1) {
120
QString index = rx_moveItem.cap(1);
121
QString shift = rx_moveItem.cap(2);
122
qDebug("Connection::parseLine: asked to move file %s %s.", index.toUtf8().data(), shift.toUtf8().data());
123
sendText("OK, command sent to GUI.");
124
emit receivedMoveItem(index.toInt(), shift.toInt());
88
127
if (rx_open.indexIn(str) > -1) {
89
128
QString file = rx_open.cap(1);
90
129
qDebug("Connection::parseLine: asked to open '%s'", file.toUtf8().data());
133
172
sendText("OK, function sent to GUI");
134
173
emit receivedFunction(function);
176
if(str.toLower() == "get volume"){
178
emit receivedGetVolume(&output);
179
sendText(QString::number(output));
183
if(rx_setVol.indexIn(str) > -1){
184
int value = rx_setVol.cap(1).toInt();
185
emit receivedSetVolume(value);
189
if(str.toLower() == "view playlist"){
191
emit receivedViewPlaylist(&output);
196
if(str.toLower() == "view status"){
198
emit receivedViewStatus(&output);
203
if(str.toLower() == "view clip info"){
205
emit receivedViewClipInfo(&output);
210
if(rx_seek.indexIn(str) > -1){
211
qDebug("Connection::parseLine: asked to seek to %s", rx_seek.cap(1).toUtf8().data());
212
emit receivedSeek(rx_seek.cap(1).toDouble());
215
if(rx_get.indexIn(str) > -1){
216
qDebug("Connection::parseLine: asked to get state of action '%s'", rx_get.cap(1).toUtf8().data());
218
emit receivedGetChecked(rx_get.cap(1), &value);
137
222
sendText("Unknown command");
152
237
Connection * c = new Connection( nextPendingConnection() );
153
238
c->setActionsList( actionsList() );
240
connect(c, SIGNAL(receivedPlayItem(int)),
241
this, SIGNAL(receivedPlayItem(int)));
242
connect(c, SIGNAL(receivedRemoveItem(int)),
243
this, SIGNAL(receivedRemoveItem(int)));
155
244
connect(c, SIGNAL(receivedOpen(QString)),
156
this, SIGNAL(receivedOpen(QString)));
245
this, SIGNAL(receivedOpen(QString)));
157
246
connect(c, SIGNAL(receivedOpenFiles(QStringList)),
158
247
this, SIGNAL(receivedOpenFiles(QStringList)));
159
248
connect(c, SIGNAL(receivedAddFiles(QStringList)),
162
251
this, SIGNAL(receivedFunction(QString)));
163
252
connect(c, SIGNAL(receivedLoadSubtitle(QString)),
164
253
this, SIGNAL(receivedLoadSubtitle(QString)));
254
connect(c, SIGNAL(receivedViewPlaylist(QString*)),
255
this, SIGNAL(receivedViewPlaylist(QString*)));
256
connect(c, SIGNAL(receivedViewStatus(QString*)),
257
this, SIGNAL(receivedViewStatus(QString*)));
258
connect(c, SIGNAL(receivedViewClipInfo(QString*)),
259
this, SIGNAL(receivedViewClipInfo(QString*)));
260
connect(c, SIGNAL(receivedSeek(double)),
261
this, SIGNAL(receivedSeek(double)));
262
connect(c, SIGNAL(receivedGetChecked(QString,QString*)),
263
this, SIGNAL(receivedGetChecked(QString,QString*)));
264
connect(c, SIGNAL(receivedMoveItem(int,int)),
265
this, SIGNAL(receivedMoveItem(int,int)));
266
connect(c, SIGNAL(receivedGetVolume(int*)),
267
this, SIGNAL(receivedGetVolume(int*)));
268
connect(c, SIGNAL(receivedSetVolume(int)),
269
this, SIGNAL(receivedSetVolume(int)));
167
272
#include "moc_myserver.cpp"