|
|
@ -50,20 +50,20 @@ void MediaLib::openMRLFromMedia(const vlc_ml_media_t& media, bool start ) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void MediaLib::addToPlaylist(const QString& mrl) |
|
|
void MediaLib::addToPlaylist(const QString& mrl, const QStringList* options) |
|
|
{ |
|
|
{ |
|
|
vlc::playlist::Media media{ mrl, mrl }; |
|
|
vlc::playlist::Media media{ mrl, mrl, options }; |
|
|
m_intf->p_sys->p_mainPlaylistController->append( {media}, false ); |
|
|
m_intf->p_sys->p_mainPlaylistController->append( {media}, false ); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void MediaLib::addToPlaylist(const QUrl& mrl) |
|
|
void MediaLib::addToPlaylist(const QUrl& mrl, const QStringList* options) |
|
|
{ |
|
|
{ |
|
|
vlc::playlist::Media media{ mrl.toString(QUrl::None), mrl.fileName() }; |
|
|
vlc::playlist::Media media{ mrl.toString(QUrl::None), mrl.fileName(), options }; |
|
|
m_intf->p_sys->p_mainPlaylistController->append( {media} , false ); |
|
|
m_intf->p_sys->p_mainPlaylistController->append( {media} , false ); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// A specific item has been asked to be added to the playlist
|
|
|
// A specific item has been asked to be added to the playlist
|
|
|
void MediaLib::addToPlaylist(const MLParentId & itemId) |
|
|
void MediaLib::addToPlaylist(const MLParentId & itemId, const QStringList* options) |
|
|
{ |
|
|
{ |
|
|
//invalid item
|
|
|
//invalid item
|
|
|
if (itemId.id == 0) |
|
|
if (itemId.id == 0) |
|
|
@ -73,7 +73,7 @@ void MediaLib::addToPlaylist(const MLParentId & itemId) |
|
|
{ |
|
|
{ |
|
|
vlc::playlist::InputItemPtr item( vlc_ml_get_input_item( m_ml, itemId.id ), false ); |
|
|
vlc::playlist::InputItemPtr item( vlc_ml_get_input_item( m_ml, itemId.id ), false ); |
|
|
if (item) { |
|
|
if (item) { |
|
|
QVector<vlc::playlist::Media> medias = { vlc::playlist::Media(item.get()) }; |
|
|
QVector<vlc::playlist::Media> medias = { vlc::playlist::Media(item.get(), options) }; |
|
|
m_intf->p_sys->p_mainPlaylistController->append(medias, false); |
|
|
m_intf->p_sys->p_mainPlaylistController->append(medias, false); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -89,37 +89,37 @@ void MediaLib::addToPlaylist(const MLParentId & itemId) |
|
|
QVector<vlc::playlist::Media> medias; |
|
|
QVector<vlc::playlist::Media> medias; |
|
|
std::transform(mediaRange.begin(), mediaRange.end(), std::back_inserter(medias), [&](vlc_ml_media_t& m) { |
|
|
std::transform(mediaRange.begin(), mediaRange.end(), std::back_inserter(medias), [&](vlc_ml_media_t& m) { |
|
|
vlc::playlist::InputItemPtr item(vlc_ml_get_input_item( m_ml, m.i_id ), false); |
|
|
vlc::playlist::InputItemPtr item(vlc_ml_get_input_item( m_ml, m.i_id ), false); |
|
|
return vlc::playlist::Media(item.get()); |
|
|
return vlc::playlist::Media(item.get(), options); |
|
|
}); |
|
|
}); |
|
|
m_intf->p_sys->p_mainPlaylistController->append(medias, false); |
|
|
m_intf->p_sys->p_mainPlaylistController->append(medias, false); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void MediaLib::addToPlaylist(const QVariantList& itemIdList) |
|
|
void MediaLib::addToPlaylist(const QVariantList& itemIdList, const QStringList* options) |
|
|
{ |
|
|
{ |
|
|
for (const QVariant& varValue: itemIdList) |
|
|
for (const QVariant& varValue: itemIdList) |
|
|
{ |
|
|
{ |
|
|
if (varValue.canConvert<QUrl>()) |
|
|
if (varValue.canConvert<QUrl>()) |
|
|
{ |
|
|
{ |
|
|
auto mrl = varValue.value<QUrl>(); |
|
|
auto mrl = varValue.value<QUrl>(); |
|
|
addToPlaylist(mrl); |
|
|
addToPlaylist(mrl, options); |
|
|
} |
|
|
} |
|
|
else if (varValue.canConvert<QString>()) |
|
|
else if (varValue.canConvert<QString>()) |
|
|
{ |
|
|
{ |
|
|
auto mrl = varValue.value<QString>(); |
|
|
auto mrl = varValue.value<QString>(); |
|
|
addToPlaylist(mrl); |
|
|
addToPlaylist(mrl, options); |
|
|
} |
|
|
} |
|
|
else if (varValue.canConvert<MLParentId>()) |
|
|
else if (varValue.canConvert<MLParentId>()) |
|
|
{ |
|
|
{ |
|
|
MLParentId itemId = varValue.value<MLParentId>(); |
|
|
MLParentId itemId = varValue.value<MLParentId>(); |
|
|
addToPlaylist(itemId); |
|
|
addToPlaylist(itemId, options); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// A specific item has been asked to be played,
|
|
|
// A specific item has been asked to be played,
|
|
|
// so it's added to the playlist and played
|
|
|
// so it's added to the playlist and played
|
|
|
void MediaLib::addAndPlay(const MLParentId & itemId ) |
|
|
void MediaLib::addAndPlay(const MLParentId & itemId, const QStringList* options ) |
|
|
{ |
|
|
{ |
|
|
if (itemId.id == 0) |
|
|
if (itemId.id == 0) |
|
|
return; |
|
|
return; |
|
|
@ -127,7 +127,7 @@ void MediaLib::addAndPlay(const MLParentId & itemId ) |
|
|
{ |
|
|
{ |
|
|
vlc::playlist::InputItemPtr item(vlc_ml_get_input_item( m_ml, itemId.id ), false); |
|
|
vlc::playlist::InputItemPtr item(vlc_ml_get_input_item( m_ml, itemId.id ), false); |
|
|
if (item) { |
|
|
if (item) { |
|
|
QVector<vlc::playlist::Media> medias = { vlc::playlist::Media(item.get()) }; |
|
|
QVector<vlc::playlist::Media> medias = { vlc::playlist::Media(item.get(), options) }; |
|
|
m_intf->p_sys->p_mainPlaylistController->append(medias, true); |
|
|
m_intf->p_sys->p_mainPlaylistController->append(medias, true); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -143,26 +143,26 @@ void MediaLib::addAndPlay(const MLParentId & itemId ) |
|
|
QVector<vlc::playlist::Media> medias; |
|
|
QVector<vlc::playlist::Media> medias; |
|
|
std::transform(mediaRange.begin(), mediaRange.end(), std::back_inserter(medias), [&](vlc_ml_media_t& m) { |
|
|
std::transform(mediaRange.begin(), mediaRange.end(), std::back_inserter(medias), [&](vlc_ml_media_t& m) { |
|
|
vlc::playlist::InputItemPtr item(vlc_ml_get_input_item( m_ml, m.i_id ), false); |
|
|
vlc::playlist::InputItemPtr item(vlc_ml_get_input_item( m_ml, m.i_id ), false); |
|
|
return vlc::playlist::Media(item.get()); |
|
|
return vlc::playlist::Media(item.get(), options); |
|
|
}); |
|
|
}); |
|
|
m_intf->p_sys->p_mainPlaylistController->append(medias, true); |
|
|
m_intf->p_sys->p_mainPlaylistController->append(medias, true); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void MediaLib::addAndPlay(const QString& mrl) |
|
|
void MediaLib::addAndPlay(const QString& mrl, const QStringList* options) |
|
|
{ |
|
|
{ |
|
|
vlc::playlist::Media media{ mrl, mrl }; |
|
|
vlc::playlist::Media media{ mrl, mrl, options }; |
|
|
m_intf->p_sys->p_mainPlaylistController->append( {media}, true ); |
|
|
m_intf->p_sys->p_mainPlaylistController->append( {media}, true ); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void MediaLib::addAndPlay(const QUrl& mrl) |
|
|
void MediaLib::addAndPlay(const QUrl& mrl, const QStringList* options) |
|
|
{ |
|
|
{ |
|
|
vlc::playlist::Media media{ mrl.toString(QUrl::None), mrl.fileName() }; |
|
|
vlc::playlist::Media media{ mrl.toString(QUrl::None), mrl.fileName(), options }; |
|
|
m_intf->p_sys->p_mainPlaylistController->append( {media}, true ); |
|
|
m_intf->p_sys->p_mainPlaylistController->append( {media}, true ); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void MediaLib::addAndPlay(const QVariantList& itemIdList) |
|
|
void MediaLib::addAndPlay(const QVariantList& itemIdList, const QStringList* options) |
|
|
{ |
|
|
{ |
|
|
bool b_start = true; |
|
|
bool b_start = true; |
|
|
for (const QVariant& varValue: itemIdList) |
|
|
for (const QVariant& varValue: itemIdList) |
|
|
@ -171,25 +171,25 @@ void MediaLib::addAndPlay(const QVariantList& itemIdList) |
|
|
{ |
|
|
{ |
|
|
auto mrl = varValue.value<QUrl>(); |
|
|
auto mrl = varValue.value<QUrl>(); |
|
|
if (b_start) |
|
|
if (b_start) |
|
|
addAndPlay(mrl); |
|
|
addAndPlay(mrl, options); |
|
|
else |
|
|
else |
|
|
addToPlaylist(mrl); |
|
|
addToPlaylist(mrl, options); |
|
|
} |
|
|
} |
|
|
if (varValue.canConvert<QString>()) |
|
|
if (varValue.canConvert<QString>()) |
|
|
{ |
|
|
{ |
|
|
auto mrl = varValue.value<QString>(); |
|
|
auto mrl = varValue.value<QString>(); |
|
|
if (b_start) |
|
|
if (b_start) |
|
|
addAndPlay(mrl); |
|
|
addAndPlay(mrl, options); |
|
|
else |
|
|
else |
|
|
addToPlaylist(mrl); |
|
|
addToPlaylist(mrl, options); |
|
|
} |
|
|
} |
|
|
else if (varValue.canConvert<MLParentId>()) |
|
|
else if (varValue.canConvert<MLParentId>()) |
|
|
{ |
|
|
{ |
|
|
MLParentId itemId = varValue.value<MLParentId>(); |
|
|
MLParentId itemId = varValue.value<MLParentId>(); |
|
|
if (b_start) |
|
|
if (b_start) |
|
|
addAndPlay(itemId); |
|
|
addAndPlay(itemId, options); |
|
|
else |
|
|
else |
|
|
addToPlaylist(itemId); |
|
|
addToPlaylist(itemId, options); |
|
|
} else { |
|
|
} else { |
|
|
continue; |
|
|
continue; |
|
|
} |
|
|
} |
|
|
|