Sayonara Player
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 NDBusMPRIS
 NHelperHelper functions
 NID3v2ID3v2Frame namespace
 NModels
 NMP4
 NPlaylist
 NSPThe MetaDataList class
 NTaggingTagging namespace
 NUi
 NXiph
 CAbstractCoverLookupThe CoverLookupInterface class
 CAbstractDatabase
 CAbstractLibrary
 CAbstractPipelineThe AbstractPipeline class
 CAbstractPlaylistThe Playlist class
 CAbstractPlaylistParser
 CAbstractStreamHandlerUsed to interprete website data as streams. Some methods have to be overridden, to map their functions to their specific database functions. The track list is held in a map, which is accessible through its station name. It can be accessed via the get_tracks() method
 CAbstractWebAccess
 CAbstrSettingThe AbstrSetting class
Every setting needs a key and a value The SK::SettingKey is only used inside the setting mechanism
 CAbstrSettingNotifierThe AbstrSettingNotifier class The setting notifier emits a sig_value_changed whenever the value of
the underlying setting (defined by the SettingKey) has changed.
After the signal has been received the listener still can decide if
it's reading the new value or not

we need an abstract instance of the notifier because Qt
Qt does not allow that a template class (like SettingNotifier)
can be a QObject and therefore signals
 CAlbumThe Album class
 CAlbumCoverDelegate
 CAlbumCoverFetchThreadThis class organizes requests for new Covers for the AlbumCoverView. When looking for covers, not all requests should be fired simultaneously, so there should be a buffer assuring that covers are found one by one. Albums are organized by hashes, each album has a CoverLocation. A new request is added to the queue by calling add_data(). A new request is handled BEFORE old requests. The thread is locked until the done() function is called. The thread emits the signal sig_next(). The cover location and the hash which should be processed next can be fetched by current_hash() and current_cover_location()
 CAlbumCoverModel
 CAlbumCoverView
 CAlbumInfoThe AlbumInfo class
 CAlbumListThe AlbumList class
 CAlternativeCoverItemDelegateThe AlternativeCoverItemDelegate class
 CAlternativeCoverItemModelThe AlternativeCoverItemModel class
 CApplication
 CArtistThe Artist class
 CArtistInfo
 CArtistListArtistList
 CArtistMatch
 CASXParserThe ASXParser class
 CAsyncWebAccessAsynchgronous web access class
 CBookmark
 CBookmarksThe Bookmarks logic class
 CBookmarksMenu
 CCachingThreadThe CachingThread class
 CChangeablePipelineThe ChangeablePipeline class
 CColorList
 CColorStyle
 CColumnHeader
 CColumnHeaderList
 CComboBoxDelegateThe ComboBoxDelegate class
Set this delegate to ComboBoxes if they should look nice
 CCommandLineData
 CCommandLineParser
 CContextMenuA context menu with some standard actions
 CConvertEngine
 CConvertPipeline
 CCopyThreadThe CopyThread class
 CCoverButtonThe CoverButton class
 CCoverFetcherInterfaceThe CoverFetcherInterface interface
 CCoverFetchManagerRetrieve Download Urls for Cover Searcher. CoverFetcherInterface can be registered, so for example a last.fm cover fetcher via the register_cover_fetcher method. A specific CoverFetcherInterface may be retrieved by using the get_coverfetcher method
 CCoverFetchThreadThe CoverFetchThread class, This is not a real QThread class, but behaves like one because of AsyncWebAccess
 CCoverLocationThe CoverLocation class
 CCoverLookupThe CoverLookup class
 CCoverLookupAlternativeThe CoverLookupAlternative class
 CCrossFaderThe CrossFader class
 CCustomFieldThe CustomField class a CustomField is some additional entry than can be set for MetaData, Albums and Artists and will be displayed on the Info Dialog These custom fields are intendend for Plugins
 CCustomMimeDataMimedata class for drag and dropping metadata
 CCustomPlaylistThe CustomPlaylist class
 CCustomPlaylistSkeletonThe CustomPlaylistSkeleton class
 CDatabaseAlbums
 CDatabaseArtists
 CDatabaseBookmarks
 CDatabaseConnector
 CDatabaseLibrary
 CDatabaseModule
 CDatabasePlaylist
 CDatabasePodcasts
 CDatabaseSearchMode
 CDatabaseSettings
 CDatabaseStreams
 CDatabaseTracks
 CDatabaseVisStyles
 CDateSearchModel
 CDB
 CDBusAdaptor
 CDBusHandler
 CDBusMediaKeysInterface
 CDBusMediaKeysInterfaceGnome
 CDBusMediaKeysInterfaceMate
 CDBusNotifications
 CDirectoryDelegate
 CDirectoryLibraryContainer
 CDirectoryReaderDirectory reader functions
 CDirectoryTreeView
 CDirectoryViewInterface
 CDiscAction
 CDiscogsCoverFetcherThe DiscogsCoverFetcher class. See CoverFetcherInterface
 CDiscPopupMenu
 CDragableThe Dragable class
 CDummyNotificator
 CEngineThe Engine class
 CEngineColorStyleChooser
 CEngineHandlerThe EngineHandler class
 CEnginePlugin
 CEQ_SettingThe EQ_Setting class. Container for Equalizer configurations
 CEqSliderThe EqSlider class
 CFileListModel
 CFileListView
 CFileSystemWatcher
 CGenre
 CGlobalMessageThe GlobalMessage class
 CGlobalMessageReceiverInterfaceThe GlobalMessageReceiverInterface class
implement this class in order to have the possibility to show messages
 CGoogleCoverFetcherThe GoogleCoverFetcher class. See CoverFetcherInterface
 CGUI_AbstractLibrary
 CGUI_AbstractStream
 CGUI_AlternativeCovers
 CGUI_AudioConverter
 CGUI_BookmarksThe GUI_Bookmarks class
 CGUI_Broadcast
 CGUI_BroadcastSetup
 CGUI_Covers
 CGUI_Crossfader
 CGUI_DateSearchConfig
 CGUI_DirectoryWidget
 CGUI_EqualizerThe GUI_Equalizer class
 CGUI_FontConfig
 CGUI_ImportFolder
 CGUI_InfoDialogThe GUI_InfoDialog class
 CGUI_LanguageChooser
 CGUI_LastFM
 CGUI_LevelPainter
 CGUI_LibraryFiles
 CGUI_LibraryInfoBox
 CGUI_LibraryPreferences
 CGUI_LocalLibrary
 CGUI_Logger
 CGUI_Lyrics
 CGUI_MTP
 CGUI_Notifications
 CGUI_Player
 CGUI_PlayerPlugin
 CGUI_PlayerPreferences
 CGUI_Playlist
 CGUI_PlaylistBottomBar
 CGUI_PlaylistChooser
 CGUI_PlaylistPreferences
 CGUI_Podcasts
 CGUI_PreferenceDialogThe Preference Dialog. Register new Preference dialogs with the register_preference_dialog() method
 CGUI_RemoteControl
 CGUI_ShortcutEntry
 CGUI_ShortcutsThe GUI_Shortcuts class
 CGUI_SomaFM
 CGUI_SoundcloudArtistSearch
 CGUI_SoundCloudLibrary
 CGUI_Spectrum
 CGUI_Speed
 CGUI_StartupDialog
 CGUI_Stream
 CGUI_StreamRecorder
 CGUI_StyleSettings
 CGUI_TagEdit
 CGUI_TargetPlaylistDialog
 CGUI_TrayIcon
 CHash
 CHeaderView
 CIconLoaderThe IconLoader class
 CIconProvider
 CIcyWebAccess
 CImportCacheThe ImportCache class
 CIndexDirectoriesThread
 CInfoDialogContainerAn interface used to abstract the usage of the info dialog. An implementing class has to return the interpretation of a MetaDataList and the MetaDataList itself. The implementing class may call the show functions to open the info dialog at its specific tab
 CInstanceThread
 CLang
 CLanguageString
 CLastFM
 CLevelReceiverThe LevelReceiver class
 CLFMCoverFetcherThe LFMCoverFetcher class. See CoverFetcherInterface
 CLFMLoginStuff
 CLFMLoginThread
 CLFMSimArtistsParser
 CLFMTrackChangedThread
 CLFMWebAccess
 CLibrary
 CLibraryContainerInterfaceAn interface class needed when implementing a library plugin
 CLibraryContextMenuContext menu used for Library and playlist windows
 CLibraryDatabase
 CLibraryDateSearchView
 CLibraryDeleteDialog
 CLibraryGenreView
 CLibraryImporterThe LibraryImporter class
 CLibraryItemThe LibraryItem class
 CLibraryItemModel
 CLibraryItemModelAlbums
 CLibraryItemModelArtists
 CLibraryItemModelTracks
 CLibraryPluginHandlerLibrary Plugin Manager
 CLibraryRatingDelegate
 CLibraryTableView
 CLibraryView
 CLibraryViewAlbum
 CListDelegateThe ListDelegate class. Only used for size hinting
 CLocalLibrary
 CLocalLibraryContainer
 CLocalLibraryMenu
 CLoggerThe Logger class
 CLogListener
 CLogObject
 CLyricLookupThreadThe LyricLookupThread class
 CM3UParserThe M3UParser class
 CMenuButtonThe MenuButton class.
A button that sends a signal when clicked.
This Class is meant for inheritance like MenuToolButton does
 CMenuToolButtonThis is the little button you often see near comboboxes
It opens up a menu when clicked. The actions in the menu a configurable
 CMetaDataThe MetaData class MetaDataHelper
 CMetaDataChangeNotifier(Singleton)
 CMetaDataInfoThe MetaDataInfo class
 CMetaDataList
 CMiniSearcher
 CMiniSearcherLineEdit
 CMTPThe MTP class
 CMTP_CopyFilesThe MTP_CopyFiles class
 CMTP_DeviceThe MTP_Device class
 CMTP_FileThe MTP_File class
 CMTP_FolderThe MTP_Folder struct
 CMTP_RawDeviceThe MTP_RawDevice class
 CMTP_StorageThe MTP_Storage class
 CMTP_TrackThe MTP_Track class
 CMTPTreeView
 CNotificationHandler
 CNotificationInterface
 COrgFreedesktopNotificationsInterface
 COrgGnomeSettingsDaemonMediaKeysInterface
 COrgMateSettingsDaemonMediaKeysInterface
 COrgMprisMediaPlayer2Adaptor
 COrgMprisMediaPlayer2PlayerAdaptor
 CPlaybackEngineThe PlaybackEngine class
 CPlaybackPipelineThe PlaybackPipeline class
 CPlayerPluginHandler
 CPlayerPluginInterfaceInterface for PlayerPlugin classes. get_name() and language_changed() must be overwritten
 CPlaylistChooserThe PlaylistChooser class
 CPlaylistDBInterfaceThe PlaylistDBInterface class
 CPlaylistDBWrapperPlaylistDBWrapper is responsible for fetching playlist data from database, especially the handling between skeleton and the playlist itself Most of the functions are wrappers for the DatabasePlaylist class
 CPlaylistHandlerGlobal handler for playlists
 CPlaylistItemDelegate
 CPlaylistItemModel
 CPlaylistLoaderThe PlaylistLoader class
 CPlaylistMenu
 CPlaylistTabBar
 CPlaylistTabMenu
 CPlaylistTabWidget
 CPlaylistView
 CPlayManagerGlobal handler for current playback state (Singleton)
 CPLSParserThe PLSParser class
 CPluginCloseButtonThe MenuButton class.
A button that sends a signal when clicked.
This Class is meant for inheritance like MenuToolButton does
 CPreferenceActionThe action, which is used to access the Preference
 CPreferenceDialogInterfaceAbstract Interface you should use when creating a preference dialog
 CPreferenceInterfaceTemplate class for implementing preference dialogs and preference widgets
 CPreferenceWidgetInterfaceAbstract Interface you should use when creating a preferences item
 CQList
 CQMap
 CRandomGeneratorThe RandomGenerator class
 CRatingLabelThe RatingLabel class
 CRawColorStyle
 CRawShortcutMapThe RawShortcutMap struct consisting of a specifier writable into database and a shortcut. This class is used for converting a shortcut map into its database representation
 CRawSoundReceiverInterfaceThe RawSoundReceiver interface
 CReloadThread
 CRemoteControlRemote control allows to control Sayonara from an external application via network. Various commands are implemented. Sayonara also delivers information about state changes,The current implemented commands are:
 CRowColumn
 CSayonaraClassAccess to Settings and notifications
 CSayonaraCompleter
 CSayonaraDialogDialog with Settings connection. Also contains triggers for language_changed() and skin_changed(). Emits sig_closed() when closed
 CSayonaraLoadingBarThe SayonaraLoadingBar class
 CSayonaraMainWindowThe SayonaraMainWindow class
 CSayonaraQuery
 CSayonaraSelectionViewThe SayonaraSelectionView class
 CSayonaraSliderThe SayonaraSlider class
 CSayonaraWidgetWidget with Settings connection. Also contains triggers for language_changed() and skin_changed() widget's content can be exported to a SayonaraDialog via the box_into_dialog() method
 CSayonaraWidgetTemplateTemplate for Sayonara Widgets. This template is responsible for holding a reference to the settings and so, the REGISTER_LISTENER and REGISTER_LISTENER_NO_CALL macros are available
 CSearchableFileTreeModelThe SearchableFileTreeModel class
 CSearchModelFunctionality
 CSearchModelInterface
 CSearchSlider
 CSearchViewFunctionalityThe SearchViewInterface class
 CSearchViewInterface
 CServerTemplateThe ServerTemplate struct
 CSettingThe Setting class
T is the pure value type e.g. QString
 CSettingConverterThe SettingConverter class
 CSettingConverter< bool >The SettingConverter<bool> class
 CSettingConverter< float >
 CSettingConverter< int >The SettingConverter<int> class
 CSettingConverter< QByteArray >The SettingConverter<QByteArray> class
 CSettingConverter< QList< T > >The SettingConverter<QList<T> > class
 CSettingConverter< QPair< A, B > >The SettingConverter<QPair<A, B> > class
 CSettingConverter< QPoint >The SettingConverter<QPoint> class
 CSettingConverter< QSize >The SettingConverter<QSize> class
 CSettingConverter< QString >The SettingConverter<QString> class
 CSettingConverter< QStringList >The SettingConverter<QStringList> class
 CSettingKey
 CSettingNotifier
 CSettingRegistryThe SettingRegistry class
 CSettingsThe Settings class
 CShortcutA single shortcut managed by ShortcutHandler. This class holds information about the default shortcuts, the user defined shortcuts, a name attached to each shortcut an identifier which is written into the database and a list of the corresponding shortcuts in the Qt format
 CShortcutHandlerA singleton class for retrieving shortcuts
 CShortcutLineEditThe ShortcutLineEdit class
 CShortcutWidgetInterface that should be implemented when using configurable shortcuts
 CSimilarArtists
 CSmartCompareThe SmartCompare class
 CSomaFMLibrary
 CSomaFMLibraryContainer
 CSomaFMPlaylistModel
 CSomaFMStation
 CSomaFMStationModel
 CSomaFMStationView
 CSoundcloudData
 CSoundcloudDataFetcher
 CSoundcloudJsonParser
 CSoundcloudLibrary
 CSoundcloudLibraryContainer
 CSpectrumReceiverThe SpectrumReceiver class
 CStandardCoverFetcherThe StandardCoverFetcher class. Convenience class for local cover search. See CoverFetcherInterface
 CStdPlaylistThe StdPlaylist class
 CStreamDataSenderThe StreamDataSender class. This class is used for sending the raw bytes
 CStreamHandlerPodcasts
 CStreamHandlerStreams
 CStreamHttpParser
 CStreamParser
 CStreamPlaylistThe StreamPlaylist class
 CStreamRecorderThe StreamRecorder class
 CStreamRecorderDataThe StreamRecorderData struct
 CStreamServerThe StreamServer class. This class is listening for new connections and holds and administrates current connections
 CStreamWriterThe StreamWriter class. This class is the interface between StreamDataSender and StreamServer. It watches the client socket and spreads data to its client
 CTagEditThe TagEdit class Metadata has to be added using the set_metadata(const MetaDataList&) method. Use update_track(int idx, const MetaData& md) to stage the changes you made to the track. commit() starts the thread and writes changes to HDD and the database. When finished the finished() signal is emitted
 CTagExpressionThe TagExpression class
 CTagLineEditThe TagLineEdit class
 CTagTextInputGUI class for String fields meant to convert content to first upper case by a context menu
 CTextSelectionHolds start and size of a selection
 CTreeDelegateThe TreeDelegate class. Only used for size hinting
 CUi_AlternativeCovers
 CUi_GUI_AudioConverter
 CUi_GUI_Bookmarks
 CUi_GUI_Broadcast
 CUi_GUI_BroadcastSetup
 CUi_GUI_Covers
 CUi_GUI_Crossfader
 CUi_GUI_DateSearchConfig
 CUi_GUI_DirectoryWidget
 CUi_GUI_Equalizer
 CUi_GUI_FontConfig
 CUi_GUI_LanguageChooser
 CUi_GUI_LastFM
 CUi_GUI_LevelPainter
 CUi_GUI_LibraryInfoBox
 CUi_GUI_LibraryPreferences
 CUi_GUI_LocalLibrary
 CUi_GUI_Logger
 CUi_GUI_Lyrics
 CUi_GUI_MTP
 CUi_GUI_Notifications
 CUi_GUI_PlayerPlugin
 CUi_GUI_PlayerPreferences
 CUi_GUI_PlaylistBottomBar
 CUi_GUI_PlaylistChooser
 CUi_GUI_PlaylistPreferences
 CUi_GUI_PlaylistView
 CUi_GUI_Podcasts
 CUi_GUI_PreferenceDialog
 CUi_GUI_RemoteControl
 CUi_GUI_ShortcutEntry
 CUi_GUI_Shortcuts
 CUi_GUI_Shutdown
 CUi_GUI_SomaFM
 CUi_GUI_SoundcloudArtistSearch
 CUi_GUI_SoundcloudLibrary
 CUi_GUI_Spectrum
 CUi_GUI_Speed
 CUi_GUI_Stream
 CUi_GUI_StreamRecorder
 CUi_GUI_Style
 CUi_GUI_TagEdit
 CUi_GUI_TargetPlaylistDialog
 CUi_ImportFolder
 CUi_InfoDialog
 CUi_Playlist_Window
 CUi_Sayonara
 CUpdateDatesThread
 CUrlParams