Sayonara Player
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Components
Streaming
Soundcloud
SoundcloudLibrary.h
1
/* SoundcloudLibrary.h */
2
3
/* Copyright (C) 2011-2024 Michael Lugmair (Lucio Carreras)
4
*
5
* This file is part of sayonara player
6
*
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
#ifndef SOUNDCLOUD_H
22
#define SOUNDCLOUD_H
23
24
#include "SoundcloudData.h"
25
#include "Components/Library/AbstractLibrary.h"
26
#include "Utils/Library/Sorting.h"
27
#include "Utils/Pimpl.h"
28
29
namespace
Cover
30
{
31
class
Location
;
32
}
33
34
namespace
SC
35
{
36
class
Library :
37
public
AbstractLibrary
38
{
39
Q_OBJECT
40
PIMPL(Library)
41
42
public
:
43
explicit
Library(
LibraryPlaylistInteractor
* playlistInteractor, QObject* parent =
nullptr
);
44
~Library()
override
;
45
46
void
insertTracks(
const
MetaDataList
& tracks,
const
ArtistList
& artists,
const
AlbumList
& albums);
47
void
getTrackById(TrackID trackId,
MetaData
& track)
const override
;
48
void
getAlbumById(AlbumId albumId,
Album
& album)
const override
;
49
void
getArtistById(ArtistId artistId,
Artist
& artist)
const override
;
50
51
void
refetch()
override
;
52
53
protected
:
54
void
initLibraryImpl()
override
;
55
56
void
getAllArtists(
ArtistList
& artists)
const override
;
57
void
getAllArtistsBySearchstring(const ::Library::Filter& filter,
ArtistList
& artists)
const override
;
58
59
void
getAllAlbums(
AlbumList
& albums)
const override
;
60
void
getAllAlbumsByArtist(
const
IdList& artistIds,
AlbumList
& albums,
61
const ::Library::Filter& filter)
const override
;
62
void
getAllAlbumsBySearchstring(const ::Library::Filter& filter,
AlbumList
& albums)
const override
;
63
64
[[nodiscard]]
int
getTrackCount()
const override
;
65
void
getAllTracks(
const
QStringList& paths,
MetaDataList
& tracks)
const override
;
66
void
getAllTracks(
MetaDataList
& tracks)
const override
;
67
void
getAllTracksByArtist(
const
IdList& artistIds,
MetaDataList
& tracks,
68
const ::Library::Filter& filter)
const override
;
69
void
getAllTracksByAlbum(
const
IdList& albumIds,
MetaDataList
& tracks,
70
const ::Library::Filter& filter)
const override
;
71
void
getAllTracksBySearchstring(const ::Library::Filter& filter,
MetaDataList
& tracks)
const override
;
72
void
getAllTracksByPath(
const
QStringList& paths,
MetaDataList
& tracks)
const override
;
73
74
void
updateTrack(
const
MetaData
& track);
75
void
deleteTracks(
const
MetaDataList
& tracks, ::Library::TrackDeletionMode mode)
override
;
76
77
private
slots:
78
void
artistsFetched(
const
ArtistList
& artists);
79
void
tracksFetched(
const
MetaDataList
& tracks);
80
void
albumsFetched(
const
AlbumList
& albums);
81
void
coverFound(
const
Cover::Location
& coverLocation);
82
83
public
slots:
84
void
reloadLibrary(
bool
clear_first, ::Library::ReloadQuality quality)
override
;
85
void
refreshArtists()
override
;
86
void
refreshAlbums()
override
;
87
void
refreshTracks()
override
;
88
};
89
}
90
91
#endif
// LocalLibrary_H
AlbumList
Definition
Album.h:91
Album
Definition
Album.h:37
ArtistList
Definition
Artist.h:61
Artist
Definition
Artist.h:34
Cover::Location
Definition
CoverLocation.h:39
LibraryPlaylistInteractor
Definition
LibraryPlaylistInteractor.h:34
MetaDataList
Definition
MetaDataList.h:34
MetaData
Definition
MetaData.h:43
Generated on
for Sayonara Player by
1.17.0