Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
403 results
Show changes
Commits on Source (7)
......@@ -41,6 +41,7 @@ class MLMedia : public MLItem
Q_PROPERTY(QString bannerCover READ bannerCover CONSTANT FINAL)
Q_PROPERTY(VLCTick duration READ duration CONSTANT FINAL)
Q_PROPERTY(qreal progress READ progress CONSTANT FINAL)
Q_PROPERTY(int playCount READ playCount CONSTANT FINAL)
public:
MLMedia() : MLItem {MLItemId()} {}
......@@ -50,8 +51,11 @@ public:
{
const auto getThumbnail = [](const vlc_ml_thumbnail_t & thumbnail)
{
return (thumbnail.i_status == VLC_ML_THUMBNAIL_STATUS_AVAILABLE)
const QString mrl =
(thumbnail.i_status == VLC_ML_THUMBNAIL_STATUS_AVAILABLE)
? qfu(thumbnail.psz_mrl) : QString {};
return MLThumbnail{ mrl, thumbnail.i_status };
};
m_title = qfu(media->psz_title);
......@@ -60,23 +64,45 @@ public:
m_bannerCover = getThumbnail(media->thumbnails[VLC_ML_THUMBNAIL_BANNER]);
m_duration = VLCTick::fromMS(media->i_duration);
m_progress = media->f_progress;
m_playCount = media->i_playcount;
}
QString title() const { return m_title; }
QString fileName() const { return m_fileName; }
QString smallCover() const { return m_smallCover; }
QString bannerCover() const { return m_bannerCover; }
VLCTick duration() const { return m_duration; }
qreal progress() const { return m_progress; }
int playCount() const { return m_playCount; }
QString smallCover(vlc_ml_thumbnail_status_t* status = nullptr) const
{
if (status) *status = m_smallCover.status;
return m_smallCover.mrl;
}
QString bannerCover(vlc_ml_thumbnail_status_t* status = nullptr) const
{
if (status) *status = m_bannerCover.status;
return m_bannerCover.mrl;
}
VLCTick progressTime() const { return VLCTick::fromMS(m_duration * m_progress); }
Q_INVOKABLE bool valid() const { return getId().id != INVALID_MLITEMID_ID; }
private:
protected:
struct MLThumbnail
{
QString mrl;
vlc_ml_thumbnail_status_t status;
};
QString m_title;
QString m_fileName;
QString m_smallCover;
QString m_bannerCover;
MLThumbnail m_smallCover;
MLThumbnail m_bannerCover;
VLCTick m_duration;
qreal m_progress;
int m_playCount;
};
......@@ -28,14 +28,7 @@
//-------------------------------------------------------------------------------------------------
MLPlaylistMedia::MLPlaylistMedia(const vlc_ml_media_t * data)
: MLItem(MLItemId(data->i_id, VLC_ML_PARENT_UNKNOWN))
, m_type(data->i_type)
, m_title(qfu(data->psz_title))
, m_thumbnail(qfu(data->thumbnails[VLC_ML_THUMBNAIL_SMALL].psz_mrl))
, m_thumbnailStatus(data->thumbnails[VLC_ML_THUMBNAIL_SMALL].i_status)
, m_duration(data->i_duration)
, m_progress(data->f_progress)
, m_playCount(data->i_playcount)
: MLMedia(data)
{
for (const vlc_ml_file_t & file : ml_range_iterate<vlc_ml_file_t>(data->p_files))
{
......@@ -112,30 +105,10 @@ vlc_ml_media_type_t MLPlaylistMedia::getType() const
return m_type;
}
QString MLPlaylistMedia::getTitle() const
{
return m_title;
}
// FIXME: We have the same code in MLVideo implementation.
QString MLPlaylistMedia::getThumbnail(vlc_ml_thumbnail_status_t* status)
{
if (status)
*status = m_thumbnailStatus;
return m_thumbnail;
}
void MLPlaylistMedia::setThumbnail(const QString& thumbnail, vlc_ml_thumbnail_status_t status)
{
m_thumbnail = thumbnail;
m_thumbnailStatus = status;
}
//-------------------------------------------------------------------------------------------------
VLCTick MLPlaylistMedia::getDuration() const
void MLPlaylistMedia::setSmallCover(const QString& thumbnail, vlc_ml_thumbnail_status_t status)
{
return VLCTick::fromMS(m_duration);
m_smallCover = { thumbnail, status };
}
//-------------------------------------------------------------------------------------------------
......@@ -167,25 +140,6 @@ QString MLPlaylistMedia::getMRLDisplay() const
//-------------------------------------------------------------------------------------------------
double MLPlaylistMedia::getProgress() const
{
return m_progress;
}
VLCTick MLPlaylistMedia::getProgressTime() const
{
return VLCTick::fromMS(m_duration * m_progress);
}
//-------------------------------------------------------------------------------------------------
unsigned int MLPlaylistMedia::getPlayCount() const
{
return m_playCount;
}
//-------------------------------------------------------------------------------------------------
QList<VideoDescription> MLPlaylistMedia::getVideo() const
{
return m_video;
......
......@@ -24,6 +24,8 @@
#endif
// MediaLibrary includes
#include "mlmedia.hpp"
// NOTE: We need that header for VideoDescription and AudioDescription.
#include "mlvideo.hpp"
......@@ -35,7 +37,7 @@ class VLCTick;
// Forward declarations
struct vlc_medialibrary_t;
class MLPlaylistMedia : public MLItem
class MLPlaylistMedia : public MLMedia
{
public:
MLPlaylistMedia( const vlc_ml_media_t * data);
......@@ -45,12 +47,7 @@ public: // Interface
vlc_ml_media_type_t getType() const;
QString getTitle() const;
QString getThumbnail(vlc_ml_thumbnail_status_t* status = nullptr);
void setThumbnail(const QString& thumbnail, vlc_ml_thumbnail_status_t status);
VLCTick getDuration() const;
void setSmallCover(const QString& thumbnail, vlc_ml_thumbnail_status_t status);
QString getResolutionName() const;
......@@ -59,41 +56,16 @@ public: // Interface
QString getMRL () const;
QString getMRLDisplay() const;
double getProgress () const;
VLCTick getProgressTime() const;
unsigned int getPlayCount() const;
QList<VideoDescription> getVideo() const;
QList<AudioDescription> getAudio() const;
private: // Events
static void onMlEvent(void * data, const vlc_ml_event_t * event);
void onMlEvent(const vlc_ml_event_t * event);
private: // Properties
private:
// Properties
vlc_ml_media_type_t m_type;
QString m_title;
QString m_thumbnail;
vlc_ml_thumbnail_status_t m_thumbnailStatus;
int64_t m_duration;
QString m_resolution;
QString m_channel;
QUrl m_mrl;
double m_progress;
QString m_progressTime;
unsigned int m_playCount;
QList<VideoDescription> m_video;
QList<AudioDescription> m_audio;
};
......
......@@ -341,11 +341,11 @@ QVariant MLPlaylistModel::itemRoleData(MLItem *item, int role) const /* override
case MEDIA_IS_NEW:
return QVariant::fromValue(media->isNew());
case MEDIA_TITLE:
return QVariant::fromValue(media->getTitle());
return QVariant::fromValue(media->title());
case MEDIA_THUMBNAIL:
{
vlc_ml_thumbnail_status_t status;
QString thumbnail = media->getThumbnail(&status);
QString thumbnail = media->smallCover(&status);
if ((media->getType() == VLC_ML_MEDIA_TYPE_VIDEO)
&& (status == VLC_ML_THUMBNAIL_STATUS_MISSING
|| status == VLC_ML_THUMBNAIL_STATUS_FAILURE))
......@@ -356,11 +356,11 @@ QVariant MLPlaylistModel::itemRoleData(MLItem *item, int role) const /* override
return QVariant::fromValue(thumbnail);
}
case MEDIA_DURATION:
return QVariant::fromValue(media->getDuration());
return QVariant::fromValue(media->duration());
case MEDIA_PROGRESS:
return QVariant::fromValue(media->getProgress());
return QVariant::fromValue(media->progress());
case MEDIA_PLAYCOUNT:
return QVariant::fromValue(media->getPlayCount());
return QVariant::fromValue(media->playCount());
case MEDIA_RESOLUTION:
return QVariant::fromValue(media->getResolutionName());
case MEDIA_CHANNEL:
......@@ -374,7 +374,7 @@ QVariant MLPlaylistModel::itemRoleData(MLItem *item, int role) const /* override
case MEDIA_AUDIO_TRACK:
return QVariant::fromValue(media->getAudio());
case MEDIA_TITLE_FIRST_SYMBOL:
return QVariant::fromValue(getFirstSymbol(media->getTitle()));
return QVariant::fromValue(getFirstSymbol(media->title()));
default:
return QVariant();
}
......@@ -453,7 +453,7 @@ void MLPlaylistModel::onVlcMlEvent(const MLEvent & event) /* override */
void MLPlaylistModel::thumbnailUpdated(const QModelIndex& idx, MLItem* mlitem, const QString& mrl, vlc_ml_thumbnail_status_t status) /* override */
{
auto playlistItem = static_cast<MLPlaylistMedia*>(mlitem);
playlistItem->setThumbnail(mrl, status);
playlistItem->setSmallCover(mrl, status);
emit dataChanged(idx, idx, { MEDIA_THUMBNAIL });
}
......
......@@ -75,13 +75,7 @@ unsigned int AudioDescription::getSampleRate() const
}
MLVideo::MLVideo(const vlc_ml_media_t* data)
: MLItem( MLItemId( data->i_id, VLC_ML_PARENT_UNKNOWN ) )
, m_title( QString::fromUtf8( data->psz_title ) )
, m_thumbnail( QString::fromUtf8( data->thumbnails[VLC_ML_THUMBNAIL_SMALL].psz_mrl ) )
, m_duration( data->i_duration )
, m_progress( data->f_progress )
, m_playCount( data->i_playcount )
, m_thumbnailStatus( data->thumbnails[VLC_ML_THUMBNAIL_SMALL].i_status )
: MLMedia ( data )
{
assert( data->i_type == VLC_ML_MEDIA_TYPE_VIDEO || data->i_type == VLC_ML_MEDIA_TYPE_UNKNOWN );
......@@ -166,32 +160,9 @@ void MLVideo::setIsFavorite(bool isFavorite)
m_isFavorite = isFavorite;
}
QString MLVideo::getFileName() const
void MLVideo::setSmallCover(vlc_ml_thumbnail_status_t status, QString mrl)
{
return m_fileName;
}
QString MLVideo::getTitle() const
{
return m_title;
}
QString MLVideo::getThumbnail(vlc_ml_thumbnail_status_t* status)
{
if (status)
*status = m_thumbnailStatus;
return m_thumbnail;
}
void MLVideo::setThumbnail(vlc_ml_thumbnail_status_t status, QString mrl)
{
m_thumbnailStatus = status;
m_thumbnail = mrl;
}
VLCTick MLVideo::getDuration() const
{
return VLCTick::fromMS(m_duration);
m_smallCover = {mrl, status};
}
QString MLVideo::getMRL() const
......@@ -213,21 +184,6 @@ QString MLVideo::getChannel() const
return m_channel;
}
float MLVideo::getProgress() const
{
return m_progress;
}
unsigned int MLVideo::getPlayCount() const
{
return m_playCount;
}
VLCTick MLVideo::getProgressTime() const
{
return VLCTick::fromMS(m_duration * m_progress);
}
QList<VideoDescription> MLVideo::getVideoDesc() const
{
return m_videoDesc;
......
......@@ -29,6 +29,7 @@
#include <vlc_media_library.h>
#include "mlqmltypes.hpp"
#include "mlmedia.hpp"
#include <functional>
......@@ -109,7 +110,7 @@ private:
QString m_encoding;
};
class MLVideo : public MLItem
class MLVideo : public MLMedia
{
public:
MLVideo(const vlc_ml_media_t *data);
......@@ -118,18 +119,11 @@ public:
void setIsNew(bool isNew);
bool isFavorite() const;
void setIsFavorite(bool isFavorite);
QString getFileName() const;
QString getTitle() const;
QString getThumbnail(vlc_ml_thumbnail_status_t* status);
void setThumbnail(vlc_ml_thumbnail_status_t status, QString mrl);
VLCTick getDuration() const;
void setSmallCover(vlc_ml_thumbnail_status_t status, QString mrl);
QString getResolutionName() const;
QString getChannel() const;
QString getMRL() const;
QString getDisplayMRL() const;
float getProgress() const;
unsigned int getPlayCount() const;
VLCTick getProgressTime() const;
QList<AudioDescription> getAudioDesc() const;
QList<VideoDescription> getVideoDesc() const;
QList<SubtitleDescription> getSubtitleDesc() const;
......@@ -137,17 +131,9 @@ public:
private:
bool m_isNew;
bool m_isFavorite;
QString m_fileName;
QString m_title;
QString m_thumbnail;
int64_t m_duration;
QUrl m_mrl;
QString m_resolution;
QString m_channel;
float m_progress;
QString m_progressTime;
unsigned int m_playCount;
vlc_ml_thumbnail_status_t m_thumbnailStatus;
QList<AudioDescription> m_audioDesc;
QList<VideoDescription> m_videoDesc;
QList<SubtitleDescription> m_subtitleDesc;
......
......@@ -126,11 +126,11 @@ QVariant MLVideoGroupsModel::itemRoleData(MLItem * item, const int role) const /
switch (role)
{
case Qt::DisplayRole:
return QVariant::fromValue(video->getTitle());
return QVariant::fromValue(video->title());
case GROUP_TITLE_FIRST_SYMBOL:
// videos and groups are shown mixed, force this item into a group
// for grouping the data must be sorted by title
return QVariant::fromValue( getFirstSymbol(video->getTitle() ));
return QVariant::fromValue( getFirstSymbol(video->title() ));
case GROUP_IS_VIDEO:
return true;
case GROUP_DATE:
......
......@@ -107,13 +107,13 @@ QVariant MLVideoModel::itemRoleData(MLItem *item, int role) const
case VIDEO_IS_FAVORITE:
return QVariant::fromValue( video->isFavorite() );
case VIDEO_FILENAME:
return QVariant::fromValue( video->getFileName() );
return QVariant::fromValue( video->fileName() );
case VIDEO_TITLE:
return QVariant::fromValue( video->getTitle() );
return QVariant::fromValue( video->title() );
case VIDEO_THUMBNAIL:
{
vlc_ml_thumbnail_status_t status;
const QString thumbnail = video->getThumbnail(&status);
const QString thumbnail = video->smallCover(&status);
if (status == VLC_ML_THUMBNAIL_STATUS_MISSING || status == VLC_ML_THUMBNAIL_STATUS_FAILURE)
{
generateThumbnail(item->getId().id);
......@@ -126,11 +126,11 @@ QVariant MLVideoModel::itemRoleData(MLItem *item, int role) const
return QVariant::fromValue( videoUrl.isLocalFile() );
}
case VIDEO_DURATION:
return QVariant::fromValue( video->getDuration() );
return QVariant::fromValue( video->duration() );
case VIDEO_PROGRESS:
return QVariant::fromValue( video->getProgress() );
return QVariant::fromValue( video->progress() );
case VIDEO_PLAYCOUNT:
return QVariant::fromValue( video->getPlayCount() );
return QVariant::fromValue( video->playCount() );
case VIDEO_RESOLUTION:
return QVariant::fromValue( video->getResolutionName() );
case VIDEO_CHANNEL:
......@@ -146,7 +146,7 @@ QVariant MLVideoModel::itemRoleData(MLItem *item, int role) const
case VIDEO_SUBTITLE_TRACK:
return getVariantList( video->getSubtitleDesc() );
case VIDEO_TITLE_FIRST_SYMBOL:
return QVariant::fromValue( getFirstSymbol( video->getTitle() ) );
return QVariant::fromValue( getFirstSymbol( video->title() ) );
default:
return {};
......@@ -243,7 +243,7 @@ void MLVideoModel::onVlcMlEvent(const MLEvent &event)
void MLVideoModel::thumbnailUpdated(const QModelIndex& idx, MLItem* mlitem, const QString& mrl, vlc_ml_thumbnail_status_t status)
{
auto videoItem = static_cast<MLVideo*>(mlitem);
videoItem->setThumbnail(status, mrl);
videoItem->setSmallCover(status, mrl);
emit dataChanged(idx, idx, {VIDEO_THUMBNAIL});
}
......