Commit graph

195 commits

Author SHA1 Message Date
Deluan
8ce796756f fix: error message 2020-02-19 15:34:05 -05:00
Deluan
a412989f7e refactor: more stable transcoder, based on http.FileSystem 2020-02-19 14:53:35 -05:00
Deluan
e6d717cbbc fix: prevent zombies in transcoding 2020-02-15 11:05:03 -05:00
Deluan
a37beac753 feat: add X-Content-Duration header to the stream response 2020-02-09 22:09:18 -05:00
Deluan
abb99a8501 feat: add authentication via JWT token 2020-02-06 18:41:34 -05:00
Deluan
4a82a6cb02 feat: initial integration of react-jinke-music-player 2020-02-06 18:41:33 -05:00
Deluan
28bad95e66 test: removed unused file property 2020-02-04 19:59:04 -05:00
Deluan
0996272943 refactor: more reliable stream seek implementation 2020-02-04 10:01:31 -05:00
Deluan
d093191659 test: createTranscodeCommand 2020-02-04 09:34:26 -05:00
Deluan
8372dee000 feat: experimental downsampling support 2020-02-03 22:53:57 -05:00
Deluan
d4365b9f64 refactor: read musicFolderId from request (but still don't use it) 2020-02-01 17:23:03 -05:00
Deluan
88e01d05f6 refactor: annotations 2020-02-01 17:23:03 -05:00
Deluan
72d9ddf532 refactor: remove annotation handling from engine 2020-02-01 17:23:03 -05:00
Deluan
67ed830a68 refactor: add filters 2020-02-01 17:23:03 -05:00
Deluan
71c1844bca refactor: new persistence, more SQL, less ORM 2020-02-01 17:23:03 -05:00
Deluan
90a1e6d213 feat: add server name and version to all responses
This is inline with other Subsonic compatible servers, like funkwhale, madsonic, ampache...
2020-01-30 14:43:24 -05:00
Deluan
3007ca68d5 fix: disable User.lastAccessAt field for now.
Updating it on every request was cause DB retentions/lock errors
2020-01-28 16:20:59 -05:00
Deluan
0d2911daf9 refactor: add Context to the persistence layer 2020-01-27 09:41:33 -05:00
Deluan
1a0563db2d Fix test 2020-01-24 22:02:50 -05:00
Deluan
49f59fe9f4 Embed static files used by Subsonic API 2020-01-24 21:35:19 -05:00
Deluan
bff6f3a4bd Rename env vars prefix to ND_ 2020-01-24 01:29:31 -05:00
Deluan
bee55c04c8 Rename project to Navidrome 2020-01-23 19:44:08 -05:00
Deluan
9557f7ceed Initial support for song browsing from UI 2020-01-22 10:47:43 -05:00
Deluan
f0ee41a8af Add context to all methods in engine layer 2020-01-22 08:39:57 -05:00
Deluan
c8a74881d8 Fix album lists, to use annotations 2020-01-22 01:00:00 -05:00
Deluan
d7116eebd4 Implement annotations per user 2020-01-21 23:03:37 -05:00
Deluan
02d1088fc5 Rename test file 2020-01-21 18:52:32 -05:00
Deluan
d4adc784cc Return playlist duration in getPlayList 2020-01-21 18:10:29 -05:00
Deluan
7fe15134a6 Check permissions to playlist operations 2020-01-21 17:18:46 -05:00
Deluan
57fcdac428 Initial support for playlists. Missing permissions 2020-01-21 16:39:35 -05:00
Deluan
de0816da67 Reimplemented GetAlbumList&type=random and GetRandomSongs (now with filter by genres) 2020-01-21 08:49:43 -05:00
Deluan
8a1110044c Better error handling when cover art cannot be loaded 2020-01-20 22:30:16 -05:00
Deluan
1e582bec5c Expiry items in NowPlaying 2020-01-20 15:51:33 -05:00
Deluan
398dfd04fc Refactor GetAllStarred to make it more readable 2020-01-20 14:17:14 -05:00
Deluan
99c28731d4 Authenticate Subsonic API calls using the DB 2020-01-20 13:42:43 -05:00
Deluan
491bfb1f69 Create initial user if User table is empty. Also make model.QueryOptions compatible with rest.QueryOptions 2020-01-19 22:47:22 -05:00
Deluan
67eeb218c4 Big Refactor:
- Create model.DataStore, with provision for transactions
- Change all layers dependencies on repositories to use DataStore
- Implemented persistence.SQLStore
- Removed iTunes Bridge/Importer support
2020-01-19 16:28:09 -05:00
Deluan
fffb2c38b3 Fix: Scrobber was not incrementing MediaFile's playCount 2020-01-18 22:11:07 -05:00
Deluan
938a92eded Register PlayCount/Date in the DB, if DevUseFolderScanner is true 2020-01-18 20:59:20 -05:00
Deluan
3c66da0b17 NowPlaying is not a repo, now it is part of the main engine 2020-01-18 20:21:25 -05:00
Deluan
128e165aba Add Stars to the DB, including Artists! Only if DevUseFolderScanner is true 2020-01-18 20:03:52 -05:00
Deluan
c0beaa6377 Integrate ArtistIndex logic into Artist 2020-01-17 20:54:28 -05:00
Deluan
ca04a919ad Remove Alpha from QueryOptions. Also add Filter, not implemented yet 2020-01-15 23:49:20 -05:00
Deluan
3a27a2d2d2 Fix test suite name 2020-01-15 21:52:50 -05:00
Deluan
36d93774bc Add GetGenre endpoint 2020-01-15 17:56:02 -05:00
Deluan
0ea2bd79d9 Rename domain to model 2020-01-14 22:22:34 -05:00
Deluan
a5b2e3c31f Remove dependency on goleveldb 2020-01-13 16:40:51 -05:00
Deluan
614f4afe28 Implement Artist search with SQL, removed old search/indexer code 2020-01-13 16:06:30 -05:00
Deluan
3a9559a860 Implement Album search with SQL 2020-01-13 16:06:30 -05:00
Deluan
d3af7e689d Implementing SearchSong using simple SELECTs. The performance hit is not relevant, makes things simpler 2020-01-13 16:06:30 -05:00
Deluan
52fc580a2b Expose mediafile.AbsolutePath to remove dependency of the persistence layer in the API layer 2020-01-11 15:27:32 -05:00
Deluan
40904b220e Renamed Id to ID, following GoLang convention 2020-01-11 15:27:32 -05:00
Deluan
24cbf766a3 Removed dependency on engine from persistence 2020-01-09 22:44:45 -05:00
Deluan
84d69a4f41 Replaced Beego logging 2020-01-09 22:44:45 -05:00
Deluan
79701caca3 Removed Beego routing/controllers, converted to Chi.
Also introduced Wire for dependency injection
2020-01-09 22:44:45 -05:00
Deluan
100aca6a1e Disable flaky test (time-based) 2020-01-04 21:33:41 -05:00
Deluan
c417a00e62 Renamed project to CloudSonic 2017-04-01 09:47:14 -04:00
Deluan
60bc1d7a11 Polishing 2016-04-21 10:44:27 -04:00
Deluan
a7ccd76d54 Allowing album cover ids with prefix (al-) 2016-03-30 10:01:37 -04:00
Deluan
c2b1f9782b New configuration system 2016-03-30 00:05:57 -04:00
Deluan
2dfa05ceb6 Fixed log message. 2016-03-29 13:54:08 -04:00
Deluan
edcfd9dd61 Fine tuning skip range 2016-03-29 09:02:53 -04:00
Deluan
768764bea7 getRandomSongs.view (partially) implemented 2016-03-29 00:01:27 -04:00
Deluan
880521360f Cleaning up tests 2016-03-28 23:41:33 -04:00
Deluan
92682f65d8 Better logging 2016-03-28 19:14:21 -04:00
Deluan
1a705d4319 Fixing NowPlaying when we have more than one song in the queue 2016-03-28 19:11:49 -04:00
Deluan
c8184da0ed Skipping now working(?) 2016-03-28 17:51:10 -04:00
Deluan
2319454997 search3.view implemented 2016-03-28 10:01:43 -04:00
Deluan
615dc862af getAlbum.view implemented 2016-03-28 09:23:44 -04:00
Deluan
94d76cb212 getArtist.view implemented 2016-03-27 21:27:45 -04:00
Deluan
3cc92a32bd Adding song and album counts 2016-03-27 20:13:00 -04:00
Deluan
83e0a7b24c Fixing some lint warnings 2016-03-26 22:43:13 -04:00
Deluan
9099e24413 Polishing 2016-03-26 22:34:20 -04:00
Deluan
ee8e9864ea Added getSong.view 2016-03-25 00:04:22 -04:00
Deluan
06828d8738 Polishing 2016-03-24 23:31:54 -04:00
Deluan
1cf8a0db44 Refactored NowPlaying
Also added a test case for skipping range
2016-03-24 17:14:13 -04:00
Deluan
770a16ece3 Update 2016-03-24 14:08:19 -04:00
Deluan
b9952bc3de Playlists support (99%) complete! 2016-03-24 13:28:20 -04:00
Deluan
a27803a4d1 deletePlaylist 2016-03-24 12:17:35 -04:00
Deluan
52850c6ef0 createPlaylist 2016-03-24 12:06:39 -04:00
Deluan
21460308c9 Adding paths to the responses 2016-03-23 20:53:28 -04:00
Deluan
fc8bb34ae3 setRating.view implemented 2016-03-23 19:37:48 -04:00
Deluan
d59394c653 GetStarred now returns starred songs 2016-03-23 19:02:58 -04:00
Deluan
1ed8c60130 Removing engine.ErrDataNotFound in favor of domain.ErrNotFound 2016-03-23 18:15:29 -04:00
Deluan
c50b0bdc48 star/unstar implemented 2016-03-23 17:46:54 -04:00
Deluan
b25cfd96eb Polishing 2016-03-23 16:30:38 -04:00
Deluan
08192e6d23 Handling a racing condition between Register and NowPlaying, when the queue is empty 2016-03-23 13:51:02 -04:00
Deluan
c87b133071 Polishing 2016-03-23 12:37:03 -04:00
Deluan
c580a4199e New NowPlaying and Skip detection implementation 2016-03-23 10:06:26 -04:00
Deluan
db992a9941 Small changes regarding StarredAt.
Making StarredAt more "precise", setting it to the time the change was detected.
getStarred.view now returns albums ordered by StarredAt.
loadRange method now take QueryOptions.Desc into account
2016-03-22 19:00:18 -04:00
Deluan
4e3c848815 Adding track numbers to tracks in playlists, as it was causing DSub to duplicate files 2016-03-22 16:12:37 -04:00
Deluan
23cf069100 Using pointers for the receivers 2016-03-21 23:11:57 -04:00
Deluan
2a2af2f57a Adding Album total time (Duration) 2016-03-21 21:14:04 -04:00
Deluan
12b1002d51 More Album List types 2016-03-21 17:37:12 -04:00
Deluan
a9d7d4d242 Even more metadata for playlists 2016-03-21 12:26:55 -04:00
Deluan
3cefc321b8 Playlists now have all metadata. Also removed some duplicated code 2016-03-21 11:57:04 -04:00
Deluan
516bd3bddf All ListGenerator's methods now returns Entries, and not Albums anymore 2016-03-21 11:37:56 -04:00
Deluan
0b286afa08 UserRatings for Albums and MediaFiles 2016-03-21 10:24:40 -04:00
Deluan
5fd9da505e More metadata for children (albums/mediafiles) 2016-03-21 09:52:32 -04:00
Deluan
37f72f2efc More metadata for directories (albums) 2016-03-21 09:37:13 -04:00