--- a/playlist/playlist.cpp
+++ b/playlist/playlist.cpp
@@ -26,6 +26,7 @@
#include <QDebug>
#include <QDir>
#include <QFileDialog>
+#include <QSettings>
#include "upadapt/upputils.h"
#include "playlist.h"
@@ -91,6 +92,40 @@
onRemoteTpState_impl(tps, sst);
}
+void Playlist::onRemoteSecsInSong(quint32 s)
+{
+ if (m_play_idx >= 0 && m_play_idx < int(m_meta.size())) {
+ m_meta[m_play_idx].curseeksecs = s;
+ }
+ onRemoteSecsInSong_impl(s);
+}
+
+void Playlist::psl_pause()
+{
+ if (m_play_idx >= 0 && m_play_idx < int(m_meta.size())) {
+ m_meta[m_play_idx].pauseseeksecs = m_meta[m_play_idx].curseeksecs;
+ }
+ psl_pause_impl();
+}
+
+void Playlist::psl_change_track(int num)
+{
+ m_insertion_point = -1;
+ m_play_idx = -1;
+ psl_change_track_impl(num);
+ QSettings settings;
+ bool saveseek = settings.value("saveseekpos").toBool();
+ if (saveseek && num >= 0 && num < int(m_meta.size())) {
+ Playlist_Mode playlist_mode =
+ CSettingsStorage::getInstance()->getPlaylistMode();
+ int seeksecs = playlist_mode.repAll ? m_meta[num].pauseseeksecs :
+ m_meta[num].curseeksecs;
+ if (seeksecs > 0) {
+ psl_seek(seeksecs);
+ }
+ }
+}
+
Playlist_Mode Playlist::mode()
{
return CSettingsStorage::getInstance()->getPlaylistMode();
@@ -181,7 +216,8 @@
emit sig_sync();
- Playlist_Mode playlist_mode = CSettingsStorage::getInstance()->getPlaylistMode();
+ Playlist_Mode playlist_mode =
+ CSettingsStorage::getInstance()->getPlaylistMode();
if (playlist_mode.replace)
psl_clear_playlist();