TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
Public Slots | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
MusicApplication Class Reference

The class of the app main widget. More...

#include <musicapplication.h>

+ Inheritance diagram for MusicApplication:

Public Slots

void quitWindow ()
 
void positionChanged (qint64 position)
 
void durationChanged (qint64 duration)
 
void playerStateChanged (TTK::PlayState state)
 
void showCurrentSong ()
 
void switchToPlayState ()
 
void switchToStopState ()
 
void playPrevious ()
 
void playNext ()
 
void playOrder ()
 
void playRandom ()
 
void playlistLoop ()
 
void playOneLoop ()
 
void playOnce ()
 
void volumeMute ()
 
void volumeChanged (int volume)
 
void importSongsPopup ()
 
void importSongsByFiles (int index=TTK_LOW_LEVEL)
 
void importSongsByDir (int index=TTK_LOW_LEVEL)
 
void importSongsByUrl ()
 
void importSongsItemList ()
 
void exportSongsItemList (int index)
 
void playSortBy (int row)
 
void playedIndexBy (int row)
 
void playIndexBy (int row)
 
void playIndexBy (int row, int column)
 
void playIndexClicked (int row, int column)
 
void playAnyTimeAt (int time)
 
void volumeDown ()
 
void volumeUp ()
 
void showSettingWidget ()
 
void currentPlayLocation ()
 
void addSongToLovestList (bool state=true)
 
void windowConciseChanged ()
 
void enhancedMusicChanged (int type)
 
void createRightMenu ()
 
void applyParameter ()
 
void removeLoveItemAt (const QString &path, bool current)
 
void removeItemAt (const QStringList &path, bool remove, bool current, int playlistRow)
 
void currentLrcUpdated ()
 
void resetCurrentSongLrcIndex ()
 
void updateCurrentTime (qint64 pos)
 
void setPlaySongChanged (int index)
 
void currentPlaylist (QStringList &list)
 

Public Member Functions

 MusicApplication (QWidget *parent=nullptr)
 
 ~MusicApplication ()
 
QString currentFileName () const
 
QString currentFilePath () const
 
bool checkMusicListCurrentIndex () const
 
void loadCurrentSongLrc ()
 
void importSongsByOutside (const QString &path, bool play)
 
QString containsDownloadItem (bool &contains) const
 
bool containsLovestItem () const
 
bool containsLovestItem (int index) const
 
void updateCurrentArtist ()
 
bool isPlaying () const
 
qint64 duration () const
 
TTK::PlayMode playMode () const
 
- Public Member Functions inherited from TTKAbstractMoveResizeWidget
 TTKAbstractMoveResizeWidget (QWidget *parent=nullptr)
 
 TTKAbstractMoveResizeWidget (bool transparent, QWidget *parent=nullptr)
 

Static Public Member Functions

static MusicApplicationinstance ()
 

Private Member Functions

virtual void resizeEvent (QResizeEvent *event) overridefinal
 
virtual void closeEvent (QCloseEvent *event) overridefinal
 
virtual void contextMenuEvent (QContextMenuEvent *event) overridefinal
 
virtual void enterEvent (QtEnterEvent *event) overridefinal
 
virtual void leaveEvent (QEvent *event) overridefinal
 
virtual void mouseReleaseEvent (QMouseEvent *event) overridefinal
 
virtual void mouseDoubleClickEvent (QMouseEvent *event) overridefinal
 
virtual bool eventFilter (QObject *object, QEvent *event) overridefinal
 
void setPlayIndex ()
 
void readSystemConfigFromFile ()
 
void writeSystemConfigToFile ()
 

Private Attributes

Ui::MusicApplication * m_ui
 
bool m_quitWindowMode
 
int m_currentSongTreeIndex
 
MusicPlayerm_player
 
MusicPlaylistm_playlist
 
MusicSongsContainerWidgetm_songTreeWidget
 
MusicBottomAreaWidgetm_bottomAreaWidget
 
MusicTopAreaWidgetm_topAreaWidget
 
MusicRightAreaWidgetm_rightAreaWidget
 
MusicLeftAreaWidgetm_leftAreaWidget
 
MusicApplicationModulem_applicationObject
 

Static Private Attributes

static MusicApplicationm_instance = nullptr
 

Friends

class MusicMPRISPlayerCore
 
class MusicPlaylistBackupModule
 

Additional Inherited Members

- Protected Member Functions inherited from TTKAbstractMoveResizeWidget
virtual void paintEvent (QPaintEvent *event) override
 
virtual void mousePressEvent (QMouseEvent *event) override
 
virtual void mouseMoveEvent (QMouseEvent *event) override
 
void sizeDirection ()
 
void moveDirection ()
 
void setObjectsTracking (const QWidgetList &objects)
 
- Protected Attributes inherited from TTKAbstractMoveResizeWidget
MoveResizeData m_struct
 
TTK::Direction m_direction
 

Detailed Description

The class of the app main widget.

Author
Greedysky greed.nosp@m.ysky.nosp@m.@163..nosp@m.com

Definition at line 44 of file musicapplication.h.

Constructor & Destructor Documentation

MusicApplication::MusicApplication ( QWidget *  parent = nullptr)
explicit
MusicApplication::~MusicApplication ( )

Member Function Documentation

void MusicApplication::addSongToLovestList ( bool  state = true)
slot
void MusicApplication::applyParameter ( )
slot
bool MusicApplication::checkMusicListCurrentIndex ( ) const

Check current list index is -1 or not.

Definition at line 148 of file musicapplication.cpp.

References MusicPlaylist::currentIndex(), m_playlist, and TTK_NORMAL_LEVEL.

Referenced by MusicDownloadStatusModule::checkMetaDataValid(), and loadCurrentSongLrc().

void MusicApplication::closeEvent ( QCloseEvent *  event)
finaloverrideprivatevirtual
QString MusicApplication::containsDownloadItem ( bool &  contains) const
bool MusicApplication::containsLovestItem ( ) const
bool MusicApplication::containsLovestItem ( int  index) const

Get music list current song lovest item contains.

Definition at line 218 of file musicapplication.cpp.

References MusicFunctionToolBoxWidget::currentIndex(), MusicSongsContainerWidget::items(), m_songTreeWidget, MUSIC_LOVEST_LIST, and TTK_NORMAL_LEVEL.

void MusicApplication::contextMenuEvent ( QContextMenuEvent *  event)
finaloverrideprivatevirtual

Definition at line 968 of file musicapplication.cpp.

References createRightMenu(), and m_ui.

void MusicApplication::createRightMenu ( )
slot
QString MusicApplication::currentFileName ( ) const
QString MusicApplication::currentFilePath ( ) const
void MusicApplication::currentLrcUpdated ( )
slot
void MusicApplication::currentPlaylist ( QStringList &  list)
slot
void MusicApplication::currentPlayLocation ( )
slot
qint64 MusicApplication::duration ( ) const

Get current player duration.

Definition at line 243 of file musicapplication.cpp.

References MusicPlayer::duration(), and m_player.

Referenced by MusicLrcAnalysis::setData().

void MusicApplication::durationChanged ( qint64  duration)
slot

Set current player duration.

Definition at line 281 of file musicapplication.cpp.

References TTKTime::formatDuration(), loadCurrentSongLrc(), m_ui, and TTK_SEPARATOR.

Referenced by MusicApplication(), and showCurrentSong().

void MusicApplication::enhancedMusicChanged ( int  type)
slot

Set current music enhanced effect by type.

Definition at line 707 of file musicapplication.cpp.

References m_player, MusicPlayer::setEnhanced(), and TTKStaticCast.

void MusicApplication::enterEvent ( QtEnterEvent event)
finaloverrideprivatevirtual
bool MusicApplication::eventFilter ( QObject *  object,
QEvent *  event 
)
finaloverrideprivatevirtual

Override the widget event.

Reimplemented from TTKAbstractMoveResizeWidget.

Definition at line 1016 of file musicapplication.cpp.

References TTKAbstractMoveResizeWidget::eventFilter(), and m_ui.

void MusicApplication::exportSongsItemList ( int  index)
slot
void MusicApplication::importSongsByDir ( int  index = TTK_LOW_LEVEL)
slot
void MusicApplication::importSongsByFiles ( int  index = TTK_LOW_LEVEL)
slot
void MusicApplication::importSongsByOutside ( const QString &  path,
bool  play 
)
void MusicApplication::importSongsByUrl ( )
slot
void MusicApplication::importSongsItemList ( )
slot
void MusicApplication::importSongsPopup ( )
slot
MusicApplication * MusicApplication::instance ( )
static

Get class object instance.

Definition at line 107 of file musicapplication.cpp.

References m_instance.

Referenced by MusicSongsContainerWidget::addSongBufferToPlaylist(), MusicSongsContainerWidget::addSongToLovestList(), MusicSongsContainerWidget::addSongToPlaylist(), MusicLrcMakerWidget::backToMakeLrcWidget(), MusicApplicationModule::cleanup(), MusicAbstractSongsListTableWidget::clearItems(), MusicPlayedListPopWidget::clearPlaylist(), MusicRightAreaWidget::containerForWallpaperClicked(), MusicSongsContainerWidget::contextMenuEvent(), MusicLrcMakerWidget::createCurrentLine(), MusicLrcMakerWidget::createFirstWidget(), MusicTopAreaWidget::createRemoteWidget(), MusicBottomAreaWidget::createSystemTrayIcon(), MusicLrcMakerWidget::createThirdWidget(), MusicLrcContainerForDesktop::creatToolBarWidget(), MusicSongsListPlayWidget::currentDownloadStateClicked(), MusicToolSetsWidget::currentItemClicked(), MusicSongsListPlayWidget::currentLoveStateClicked(), MusicSongsContainerWidget::deleteRowItem(), MusicSongsContainerWidget::deleteRowItemAll(), MusicSongsContainerWidget::deleteRowItems(), MusicLeftAreaWidget::downloadSongFinished(), MusicTopAreaWidget::drawWindowBackgroundRectString(), MusicSongsToolBoxTopWidget::exportSongsItemList(), MusicLrcMakerWidget::firstWidgetStateButtonClicked(), MusicRightAreaWidget::functionInitialize(), MusicBottomAreaWidget::iconActivated(), MusicSongsContainerWidget::importSongsByDir(), MusicSongsContainerWidget::importSongsByFiles(), MusicPlayBackModePopWidget::initialize(), MusicDownloadMgmtWidget::initialize(), MusicSongsListPlayTableWidget::itemCellClicked(), MusicSongsListPlayTableWidget::itemCellEntered(), MusicPlayedListPopWidget::itemDoubleClicked(), MusicBottomAreaWidget::lrcWidgetShowFullScreen(), MusicVideoPlayWidget::mediaUrlChanged(), MusicLrcFloatPlayWidget::MusicLrcFloatPlayWidget(), MusicLrcMakerWidget::MusicLrcMakerWidget(), MusicMPRISPlayerCore::MusicMPRISPlayerCore(), MusicRemoteWidget::MusicRemoteWidget(), MusicSongsListFunctionWidget::MusicSongsListFunctionWidget(), MusicSongsListPlayTableWidget::MusicSongsListPlayTableWidget(), MusicSongsListPlayWidget::MusicSongsListPlayWidget(), MusicTopAreaWidget::MusicTopAreaWidget(), MusicDownloadResetWidget::openFileLocation(), MusicToastLabel::popup(), MusicMPRISPlayerRoot::Quit(), MusicMPRISPlayerRoot::Raise(), MusicLrcMakerWidget::reMakeButtonClicked(), MusicPlayedListPopWidget::removeItemAt(), MusicSongsContainerWidget::removeItemAt(), MusicLrcMakerWidget::resetToOriginPlayMode(), MusicApplicationModule::resetWindowGeometry(), MusicProcessServer::run(), MusicPlaylistBackupModule::runBackup(), MusicLrcFloatPlayWidget::setCurrentPlayState(), MusicLrcMakerWidget::setCurrentSecondWidget(), MusicLrcMakerWidget::setCurrentThirdWidget(), MusicLrcAnalysis::setData(), MusicLeftAreaWidget::setupUi(), MusicTopAreaWidget::setupUi(), MusicRightAreaWidget::setupUi(), MusicBottomAreaWidget::setWindowConcise(), MusicRightAreaWidget::setWindowLrcTypeChanged(), MusicApplicationModule::setWindowToTop(), MusicRightAreaWidget::showSongCommentsWidget(), MusicApplicationModule::showTimerWidget(), MusicApplicationModule::showVersionWidget(), MusicApplicationModule::sideAnimationByOff(), MusicApplicationModule::sideAnimationByOn(), MusicSongsContainerWidget::songListSortBy(), MusicSongsContainerWidget::songToLovestListAt(), MusicLrcFloatPlayWidget::switchToPlayState(), MusicLrcMakerWidget::thirdWidgetStateButtonClicked(), MusicTimerAutoModule::timeout(), MusicLrcMakerWidget::timeSliderValueChanged(), MusicSongsContainerWidget::updateCurrentIndex(), MusicRightAreaWidget::videoActiveWindow(), MusicApplicationModule::windowCloseAnimation(), and MusicApplicationModule::windowCloseAnimationFinished().

bool MusicApplication::isPlaying ( ) const
void MusicApplication::leaveEvent ( QEvent *  event)
finaloverrideprivatevirtual
void MusicApplication::loadCurrentSongLrc ( )
void MusicApplication::mouseDoubleClickEvent ( QMouseEvent *  event)
finaloverrideprivatevirtual
void MusicApplication::mouseReleaseEvent ( QMouseEvent *  event)
finaloverrideprivatevirtual
void MusicApplication::playAnyTimeAt ( int  time)
slot
void MusicApplication::playedIndexBy ( int  row)
slot

Set played list row index music to play.

Definition at line 560 of file musicapplication.cpp.

References m_player, m_playlist, MusicPlaylist::setCurrentIndex(), MusicPlayer::stop(), and switchToPlayState().

Referenced by MusicPlayedListPopWidget::itemDoubleClicked().

void MusicApplication::playerStateChanged ( TTK::PlayState  state)
slot

Current state changed.

Definition at line 292 of file musicapplication.cpp.

References TTK::UI::BtnPlay, G_SETTING_PTR, m_ui, TTK::Stopped, TTK::UI::TinyBtnPlay, and MusicSettingManager::WindowConciseMode.

Referenced by MusicApplication().

void MusicApplication::playIndexBy ( int  row)
slot
void MusicApplication::playIndexBy ( int  row,
int  column 
)
slot
void MusicApplication::playIndexClicked ( int  row,
int  column 
)
slot
void MusicApplication::playlistLoop ( )
slot
TTK::PlayMode MusicApplication::playMode ( ) const
void MusicApplication::playNext ( )
slot
void MusicApplication::playOnce ( )
slot

Set current play mdoe to just once.

Definition at line 445 of file musicapplication.cpp.

References m_playlist, m_ui, TTK::Once, and MusicPlaylist::setPlaybackMode().

Referenced by createRightMenu(), readSystemConfigFromFile(), and MusicLrcMakerWidget::resetToOriginPlayMode().

void MusicApplication::playOneLoop ( )
slot
void MusicApplication::playOrder ( )
slot
void MusicApplication::playPrevious ( )
slot
void MusicApplication::playRandom ( )
slot
void MusicApplication::playSortBy ( int  row)
slot
void MusicApplication::positionChanged ( qint64  position)
slot
void MusicApplication::quitWindow ( )
slot
void MusicApplication::readSystemConfigFromFile ( )
private

Read system config from file.

Definition at line 1032 of file musicapplication.cpp.

References MusicPlaylist::add(), MusicSongsContainerWidget::addMusicItemList(), applyParameter(), COFIG_PATH_FULL, MusicSettingManager::DLrcGeometry, MusicSettingManager::DLrcLockedMode, MusicSettingManager::EnhancedFadeEnable, MusicSettingManager::EnhancedMusicIndex, MusicSettingManager::EqualizerEnable, TTKAbstractXml::fromFile(), G_HOTKEY_PTR, G_SETTING_PTR, MusicSettingManager::HotkeyEnable, MusicSettingManager::HotkeyValue, isPlaying(), MusicSettingManager::LastPlayIndex, TTK::ListLoop, MusicApplicationModule::loadNetWorkSetting(), MusicBottomAreaWidget::lockDesktopLrc(), m_applicationObject, m_bottomAreaWidget, m_currentSongTreeIndex, m_player, m_playlist, m_rightAreaWidget, m_songTreeWidget, m_topAreaWidget, m_ui, MusicSongsContainerWidget::mapFilePathBySongIndex(), MusicSongsContainerWidget::musicSongsFilePath(), TTK::Once, TTK::OneLoop, TTK::Order, MusicSettingManager::OtherCheckUpdateEnable, MusicSettingManager::OtherSideByInMode, PLAYLIST_PATH_FULL, playlistLoop(), MusicSettingManager::PlayMode, playOnce(), playOneLoop(), playOrder(), playRandom(), TTK::Random, MusicTKPLConfigManager::readBuffer(), MusicConfigManager::readBuffer(), MusicConfigManager::readShowDesktopLrcGeometry(), MusicConfigManager::readWindowGeometry(), MusicTopAreaWidget::remoteTypeChanged(), MusicSettingManager::RemoteWidgetMode, MusicTopAreaWidget::setBackgroundParameter(), MusicPlaylist::setCurrentIndex(), MusicBottomAreaWidget::setCurrentPlayState(), MusicTopAreaWidget::setCurrentPlayState(), MusicRightAreaWidget::setCurrentPlayState(), MusicBottomAreaWidget::setDestopLrcVisible(), MusicRightAreaWidget::setDestopLrcVisible(), MusicPlayer::setEqualizerConfig(), MusicRightAreaWidget::setInteriorLrcVisible(), MusicRightAreaWidget::setWindowLrcTypeChanged(), MusicSettingManager::ShowDesktopLrc, MusicApplicationModule::soundEffectChanged(), MusicApplicationModule::soureUpdateCheck(), MusicSettingManager::StartUpPlayMode, switchToPlayState(), TTK_NORMAL_LEVEL, TTK_SIGNLE_SHOT, TTK_SLOT, TTK_SPLITER, TTKStaticCast, MusicSettingManager::Volume, volumeChanged(), windowConciseChanged(), MusicSettingManager::WindowConciseMode, and MusicSettingManager::WindowQuitMode.

Referenced by MusicApplication().

void MusicApplication::removeItemAt ( const QStringList &  path,
bool  remove,
bool  current,
int  playlistRow 
)
slot
void MusicApplication::removeLoveItemAt ( const QString &  path,
bool  current 
)
slot

Remove love item from indexs.

Definition at line 808 of file musicapplication.cpp.

References MUSIC_LOVEST_LIST, and removeItemAt().

Referenced by MusicSongsContainerWidget::addSongToLovestList(), and MusicSongsContainerWidget::songToLovestListAt().

void MusicApplication::resetCurrentSongLrcIndex ( )
slot

Reset current song lrc index.

Definition at line 901 of file musicapplication.cpp.

References m_player, m_rightAreaWidget, MusicPlayer::position(), and MusicRightAreaWidget::setSongTimeSpeed().

Referenced by loadCurrentSongLrc().

void MusicApplication::resizeEvent ( QResizeEvent *  event)
finaloverrideprivatevirtual
void MusicApplication::setPlayIndex ( )
private
void MusicApplication::setPlaySongChanged ( int  index)
slot

Set current song to play in play list.

Definition at line 919 of file musicapplication.cpp.

References MusicPlaylist::count(), MusicPlaylist::isEmpty(), m_playlist, playIndexBy(), and TTK_NORMAL_LEVEL.

Referenced by MusicTimerAutoModule::timeout().

void MusicApplication::showCurrentSong ( )
slot
void MusicApplication::showSettingWidget ( )
slot

Show setting widget.

Definition at line 651 of file musicapplication.cpp.

References m_rightAreaWidget, and MusicRightAreaWidget::showSettingWidget().

Referenced by createRightMenu(), and MusicApplication().

void MusicApplication::switchToPlayState ( )
slot
void MusicApplication::switchToStopState ( )
slot

Set current player to stop.

Definition at line 384 of file musicapplication.cpp.

References isPlaying(), m_playlist, MusicPlaylist::setCurrentIndex(), and TTK_NORMAL_LEVEL.

Referenced by MusicMPRISPlayerCore::Stop(), and MusicTimerAutoModule::timeout().

void MusicApplication::updateCurrentArtist ( )

Update current artist when it download finished.

Definition at line 233 of file musicapplication.cpp.

References m_songTreeWidget, and MusicSongsContainerWidget::updateCurrentArtist().

Referenced by MusicDownloadStatusModule::showDownLoadInfoFinished().

void MusicApplication::updateCurrentTime ( qint64  pos)
slot

Update current play time when user adjust the progress.

Definition at line 911 of file musicapplication.cpp.

References isPlaying(), m_player, and MusicPlayer::setPosition().

void MusicApplication::volumeChanged ( int  volume)
slot
void MusicApplication::volumeDown ( )
slot

Set current player volume down.

Definition at line 629 of file musicapplication.cpp.

References m_player, MusicPlayer::volume(), and volumeChanged().

Referenced by MusicApplication().

void MusicApplication::volumeMute ( )
slot
void MusicApplication::volumeUp ( )
slot

Set current player volume up.

Definition at line 640 of file musicapplication.cpp.

References m_player, MusicPlayer::volume(), and volumeChanged().

Referenced by MusicApplication().

void MusicApplication::windowConciseChanged ( )
slot
void MusicApplication::writeSystemConfigToFile ( )
private

Friends And Related Function Documentation

friend class MusicMPRISPlayerCore
friend

Definition at line 334 of file musicapplication.h.

friend class MusicPlaylistBackupModule
friend

Definition at line 335 of file musicapplication.h.

Member Data Documentation

MusicApplicationModule* MusicApplication::m_applicationObject
private
MusicBottomAreaWidget* MusicApplication::m_bottomAreaWidget
private
int MusicApplication::m_currentSongTreeIndex
private
MusicApplication * MusicApplication::m_instance = nullptr
staticprivate

Definition at line 336 of file musicapplication.h.

Referenced by instance(), and MusicApplication().

MusicLeftAreaWidget* MusicApplication::m_leftAreaWidget
private

Definition at line 331 of file musicapplication.h.

Referenced by addSongToLovestList(), MusicApplication(), and ~MusicApplication().

MusicPlayer* MusicApplication::m_player
private
MusicPlaylist* MusicApplication::m_playlist
private
bool MusicApplication::m_quitWindowMode
private

Definition at line 323 of file musicapplication.h.

Referenced by quitWindow(), and resizeEvent().

MusicRightAreaWidget* MusicApplication::m_rightAreaWidget
private
MusicSongsContainerWidget* MusicApplication::m_songTreeWidget
private
MusicTopAreaWidget* MusicApplication::m_topAreaWidget
private
Ui::MusicApplication* MusicApplication::m_ui
private

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