Deluan
8ec78900c5
feat: transcoding and player datastores and configuration
2020-03-17 15:20:35 -04:00
Deluan
59356f0029
refactor: removed indirect call introduced by intellij's refactor
2020-03-06 16:28:20 -05:00
Deluan
876354e58e
feat: MaxTranscodingCacheSize is now specified in MB
2020-02-26 14:08:14 -05:00
Deluan
0370f0a3ea
refactor: rename ffmpeg to transcoder
2020-02-25 10:32:34 -05:00
Deluan
33ede13eef
fix: check if album is starred before adding the starred date in the response. also return "starred" in search responses
2020-02-24 22:06:12 -05:00
Deluan
e032bfcf6b
refactor: make parameters consistent
2020-02-24 19:04:54 -05:00
Deluan
f4014c475d
refactor: make fakeFFmpeg more configurable, change test name
2020-02-24 14:17:32 -05:00
Deluan
f394de664a
refactor: new transcoding engine. third (fourth?) time is a charm!
2020-02-24 13:56:09 -05:00
Deluan
d7b5e6a36c
fix: add `public` attribute to playlists. Even though it is optional,
...
DSub requires it
2020-02-23 00:10:05 -05:00
Deluan
1322bb3bf3
refactor: move cache constructor
2020-02-21 09:36:29 -05:00
Deluan
13a046a679
fix: change stream cache eviction check period to every 10 minutes
2020-02-20 20:12:52 -05:00
Deluan
a6b0c57ce0
feat: add a proper caching system to the transcoding functionality
2020-02-20 19:25:39 -05:00
Deluan
fc14e346b9
feat: store duration as float, to cater for milliseconds
2020-02-20 17:02:06 -05:00
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