Commit Graph

224 Commits

Author SHA1 Message Date
Deluan 1bc68c20fc Create and configure image cache 2020-04-05 22:02:06 -04:00
Deluan 9b461735f4 Add comments to createXxxxCommand functions to clarify about the filepaths arguments being absolute paths 2020-04-03 14:49:35 -04:00
Deluan 8510273216 Send estimated content length if requested 2020-04-03 00:24:40 -04:00
Deluan 2392060bc1 Don't try to transcode a file if the requested format is the same and the client is not requesting to downsample 2020-04-02 22:17:52 -04:00
Deluan 2d7998de59 Return cover from album even if client does not prefix the id with `al-`. Fixes #46 2020-04-02 22:03:27 -04:00
Deluan a35636999d feat: fine tune album art image size. better, but still not ideal 2020-04-01 09:09:51 -04:00
Deluan 53e8a92fed feat: rename year to max_year and add min_year to album. #118 2020-03-27 21:11:06 -04:00
Deluan dcb3b3b5d1 fix: various album_artists <-> artists mismatches 2020-03-26 09:08:53 -04:00
Deluan b4c7cac964 refactor: moved magic strings to consts 2020-03-24 11:59:10 -04:00
Deluan f6e448c1ba refactor: removed unused code, unnecessary typecasts and fixed small warnings 2020-03-20 00:07:36 -04:00
Deluan c8cd755451 feat: use human readable sizes in cache size configuration 2020-03-18 20:39:10 -04:00
Deluan faac303eff feat: allow session timeout to be configurable. closes #101 2020-03-18 20:16:18 -04:00
Deluan ced87be57b fix: when searching player by id, create new player if client name does not match the one found 2020-03-17 19:10:09 -04:00
Deluan e02f3d3ec9 refactor: clean up unused config options 2020-03-17 15:20:35 -04:00
Deluan c8b0d2bfae feat: select correct transcoding for streaming 2020-03-17 15:20:35 -04:00
Deluan 39993810b3 feat: add `transcodedSuffix` to Subsonic API responses 2020-03-17 15:20:35 -04:00
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