Music Hub  ..
A session-wide music playback service
lomiri::MediaHubService::TrackListImplementationPrivate Class Reference
+ Collaboration diagram for lomiri::MediaHubService::TrackListImplementationPrivate:

Public Types

typedef QMap< Track::Id, QPair< QUrl, Track::MetaData > > MetaDataCache
 

Public Member Functions

 TrackListImplementationPrivate (const QSharedPointer< media::Engine::MetaDataExtractor > &extractor, TrackListImplementation *q)
 
TrackList::ConstIterator empty_iterator () const
 
bool is_first_track (const TrackList::ConstIterator &it) const
 
bool is_last_track (const TrackList::ConstIterator &it) const
 
TrackList::ConstIterator current_iterator () const
 
void set_current_track (const Track::Id &id)
 
Track::Id get_current_track () const
 
TrackList::ConstIterator get_current_shuffled () const
 
void add_track_with_uri_at (const QUrl &uri, const Track::Id &position, bool make_current)
 
void add_tracks_with_uri_at (const QVector< QUrl > &uris, const Track::Id &position)
 
bool move_track (const Track::Id &id, const Track::Id &to)
 
void remove_track (const Track::Id &id)
 
void do_remove_track (const Track::Id &id)
 
void go_to (const Track::Id &track)
 
void updateCachedTrackMetadata (const Track::Id &id, const QUrl &uri)
 
media::TrackList::Container::iterator get_shuffled_insert_it ()
 

Public Attributes

size_t track_counter
 
MetaDataCache meta_data_cache
 
QSharedPointer< Engine::MetaDataExtractorextractor
 
TrackList::Container shuffled_tracks
 
TrackList::Container m_tracks
 
bool shuffle
 
media::Track::Id current_track
 
media::Player::LoopStatus loop_status
 
uint64_t current_position
 
TrackListImplementationq_ptr
 

Detailed Description

Definition at line 47 of file track_list_implementation.cpp.

Member Typedef Documentation

◆ MetaDataCache

Constructor & Destructor Documentation

◆ TrackListImplementationPrivate()

TrackListImplementationPrivate::TrackListImplementationPrivate ( const QSharedPointer< media::Engine::MetaDataExtractor > &  extractor,
TrackListImplementation q 
)

Definition at line 120 of file track_list_implementation.cpp.

Member Function Documentation

◆ add_track_with_uri_at()

void TrackListImplementationPrivate::add_track_with_uri_at ( const QUrl &  uri,
const Track::Id position,
bool  make_current 
)

◆ add_tracks_with_uri_at()

void TrackListImplementationPrivate::add_tracks_with_uri_at ( const QVector< QUrl > &  uris,
const Track::Id position 
)

◆ current_iterator()

TrackList::ConstIterator TrackListImplementationPrivate::current_iterator ( ) const

Definition at line 133 of file track_list_implementation.cpp.

References current_track, m_tracks, MH_DEBUG, and MH_ERROR.

◆ do_remove_track()

void TrackListImplementationPrivate::do_remove_track ( const Track::Id id)

Definition at line 373 of file track_list_implementation.cpp.

References m_tracks, meta_data_cache, shuffle, and shuffled_tracks.

Referenced by remove_track().

◆ empty_iterator()

TrackList::ConstIterator lomiri::MediaHubService::TrackListImplementationPrivate::empty_iterator ( ) const
inline

Definition at line 58 of file track_list_implementation.cpp.

◆ get_current_shuffled()

TrackList::ConstIterator TrackListImplementationPrivate::get_current_shuffled ( ) const

Definition at line 165 of file track_list_implementation.cpp.

References get_current_track(), and shuffled_tracks.

+ Here is the call graph for this function:

◆ get_current_track()

Track::Id TrackListImplementationPrivate::get_current_track ( ) const

◆ get_shuffled_insert_it()

media::TrackList::Container::iterator lomiri::MediaHubService::TrackListImplementationPrivate::get_shuffled_insert_it ( )
inline

Definition at line 90 of file track_list_implementation.cpp.

Referenced by add_track_with_uri_at(), and add_tracks_with_uri_at().

◆ go_to()

void TrackListImplementationPrivate::go_to ( const Track::Id track)

Definition at line 393 of file track_list_implementation.cpp.

References set_current_track().

Referenced by add_track_with_uri_at(), and remove_track().

+ Here is the call graph for this function:

◆ is_first_track()

bool lomiri::MediaHubService::TrackListImplementationPrivate::is_first_track ( const TrackList::ConstIterator it) const
inline

Definition at line 59 of file track_list_implementation.cpp.

◆ is_last_track()

bool lomiri::MediaHubService::TrackListImplementationPrivate::is_last_track ( const TrackList::ConstIterator it) const
inline

Definition at line 62 of file track_list_implementation.cpp.

◆ move_track()

bool TrackListImplementationPrivate::move_track ( const Track::Id id,
const Track::Id to 
)

Definition at line 259 of file track_list_implementation.cpp.

References current_track, m_tracks, MH_DEBUG, and MH_ERROR.

◆ remove_track()

void TrackListImplementationPrivate::remove_track ( const Track::Id id)

Definition at line 324 of file track_list_implementation.cpp.

References current_track, do_remove_track(), go_to(), loop_status, m_tracks, MH_DEBUG, and MH_WARNING.

+ Here is the call graph for this function:

◆ set_current_track()

void TrackListImplementationPrivate::set_current_track ( const Track::Id id)

Definition at line 150 of file track_list_implementation.cpp.

References current_track, and m_tracks.

Referenced by add_track_with_uri_at(), add_tracks_with_uri_at(), and go_to().

◆ updateCachedTrackMetadata()

void lomiri::MediaHubService::TrackListImplementationPrivate::updateCachedTrackMetadata ( const Track::Id id,
const QUrl &  uri 
)
inline

Definition at line 80 of file track_list_implementation.cpp.

Referenced by add_track_with_uri_at(), and add_tracks_with_uri_at().

Member Data Documentation

◆ current_position

uint64_t lomiri::MediaHubService::TrackListImplementationPrivate::current_position

Definition at line 114 of file track_list_implementation.cpp.

◆ current_track

media::Track::Id lomiri::MediaHubService::TrackListImplementationPrivate::current_track
mutable

◆ extractor

QSharedPointer<Engine::MetaDataExtractor> lomiri::MediaHubService::TrackListImplementationPrivate::extractor

Definition at line 106 of file track_list_implementation.cpp.

◆ loop_status

media::Player::LoopStatus lomiri::MediaHubService::TrackListImplementationPrivate::loop_status

Definition at line 113 of file track_list_implementation.cpp.

Referenced by remove_track().

◆ m_tracks

TrackList::Container lomiri::MediaHubService::TrackListImplementationPrivate::m_tracks

◆ meta_data_cache

MetaDataCache lomiri::MediaHubService::TrackListImplementationPrivate::meta_data_cache

Definition at line 105 of file track_list_implementation.cpp.

Referenced by do_remove_track().

◆ q_ptr

TrackListImplementation* lomiri::MediaHubService::TrackListImplementationPrivate::q_ptr

Definition at line 115 of file track_list_implementation.cpp.

◆ shuffle

bool lomiri::MediaHubService::TrackListImplementationPrivate::shuffle

◆ shuffled_tracks

TrackList::Container lomiri::MediaHubService::TrackListImplementationPrivate::shuffled_tracks

◆ track_counter

size_t lomiri::MediaHubService::TrackListImplementationPrivate::track_counter

Definition at line 104 of file track_list_implementation.cpp.

Referenced by add_track_with_uri_at(), and add_tracks_with_uri_at().


The documentation for this class was generated from the following file: