Commit Graph

44 Commits

Author SHA1 Message Date
Jonathan Bernard 8e145b244d Fixed a bug where media files associated with multiple artists or albums were returned multiple times. 2016-03-16 06:02:15 -05:00
Jonathan Bernard d2ed22d229 Rescanning now finds moved files by their hash.
More precisely, the MediaLibrary matches up files based on their file hash. If
it finds a files that matches an already known entry it doesn't create a new
entry, only updates the file path to the found file in the existing entry.

This is useful if files get re-organized or if an existing database is loaded
at an entirely new library root that contains mostly the same files (relocating
the library to another computer for example). This method preserves information
added to the database that was not originally present in the ID3 tags in the
media files (custom tags, name corrections, etc).
2016-03-16 05:52:41 -05:00
Jonathan Bernard 392c94f39c Renamed ORM to DbApi. 2016-03-16 04:03:23 -05:00
Jonathan Bernard 7f41f8c4e1 Fixed broken ORM.untagMediaFiles. 2016-03-16 02:30:07 -05:00
Jonathan Bernard 26922edd12 Add the ability to list untagged files in core. 2016-03-16 02:14:58 -05:00
Jonathan Bernard eb17561d77 Added the ability to untag media files in core. 2016-03-16 02:14:40 -05:00
Jonathan Bernard 328957d6f7 Fixed joins in getMediaFilesWhere to use outer joins when not filtering by the joined table. 2016-03-16 02:14:11 -05:00
Jonathan Bernard fe80bed570 Fix tag retrieval. 2016-03-14 05:44:29 -05:00
Jonathan Bernard 9205732b0e MediaLibrary: Moved some helpers for working with model classes, names, and files into here. 2016-03-14 03:50:51 -05:00
Jonathan Bernard e148acd897 ORM: added generic getWhere which delegates appropriately based on model type. 2016-03-14 03:50:11 -05:00
Jonathan Bernard 0f21c48e66 MediaFile: add track number to toString (if available). 2016-03-14 03:49:33 -05:00
Jonathan Bernard ad693e608e Model base class: implement Comparable<Model> 2016-03-14 03:49:11 -05:00
Jonathan Bernard cf8aad8775 MediaLibrary: added cleanup behaviour, support for disc numbers when importing media. 2016-03-12 21:17:45 -06:00
Jonathan Bernard 9689547c0d ORM: Fixed getBookmarksWhere, added removeFromPaylist. 2016-03-12 20:57:58 -06:00
Jonathan Bernard 49a250b63e ORM: implemented methods to remove empty albums, artists, and playlists. 2016-03-12 20:56:36 -06:00
Jonathan Bernard 33e470c871 Changes to the data model.
* Added bookmarks.{last_used,play_time_ms}.
* Removed playlists.mod_count
* Added tags.description.
2016-03-12 20:52:17 -06:00
Jonathan Bernard 1e03063400 MediaLibrary scan now reports file counts for its scan. 2016-03-10 10:53:22 -06:00
Jonathan Bernard b689a42cb2 ORM Added correct playlist addition logic, media file tagging. 2016-03-10 10:53:22 -06:00
Jonathan Bernard 861717589c Added disc number. Fixed ordering, createdAt in Playlist file. 2016-03-10 10:53:16 -06:00
Jonathan Bernard 107e48a1d0 ORM changed double-quotes to single-quotes in strings with no interpolation. 2016-03-10 10:40:04 -06:00
Jonathan Bernard 32ad70c405 Minor change in quotation of SQL strigns. 2016-03-08 10:40:48 -06:00
Jonathan Bernard 710083131a Add tags filter to ORM.getMediaFilesWhere 2016-03-08 10:40:03 -06:00
Jonathan Bernard 99c883dbe5 Added the ability to specify a sorting when using the ORM.getAll function. 2016-03-08 09:46:30 -06:00
Jonathan Bernard 8edf542726 Added create_at fields on playlists and bookmarks. 2016-03-08 09:45:51 -06:00
Jonathan Bernard 47590a8c8f Added lastPlayed field on MediaFile. 2016-03-05 21:44:25 -06:00
Jonathan Bernard a4013ed365 Added ordering logic to media file selection criteria. 2016-03-05 21:32:45 -06:00
Jonathan Bernard a1230dddfd Add the ability to clear a playlist. 2016-02-29 12:37:23 -06:00
Jonathan Bernard 5f5bdab238 Reworking command line select. Starting on others. 2016-02-22 22:15:33 -06:00
Jonathan Bernard 2010aa7d46 Added *Where functions for playlists, bookmarks, tags. Bugfixes. 2016-02-15 16:31:32 -06:00
Jonathan Bernard a17589d540 Added defaults for Playlist object. 2016-02-15 16:30:43 -06:00
Jonathan Bernard 6af528e46b Fixed library scanning to allow multiple artists/albums per file. 2016-02-13 23:29:05 -06:00
Jonathan Bernard 321b201cab Added generic query methods for Albums, Artists, and Media Files. 2016-02-13 23:28:30 -06:00
Jonathan Bernard 67ea1535a1 Added missing dependency on javax.persistence API. 2016-02-13 23:27:51 -06:00
Jonathan Bernard 8090b5b914 Added copied_from_id on playlists. Fixed timestamp values in models. 2016-02-13 23:27:30 -06:00
Jonathan Bernard 1354a92204 ORM returns models from save, create, and update. Also additional lookup functions to ORM. 2016-02-12 17:20:32 -06:00
Jonathan Bernard 105a61c11f Reworking media scanning to handle multiple artists/albums. Untested. 2016-02-12 17:19:32 -06:00
Jonathan Bernard b4ce76063b Added a base Model class which implements equals. 2016-02-12 17:18:37 -06:00
Jonathan Bernard a795397b3b Re-ordered argument lists for functions taking a model class. 2016-02-12 14:18:43 -06:00
Jonathan Bernard 069972bfd5 Changed to use standard JPA annotations. 2016-02-12 14:17:48 -06:00
Jonathan Bernard f51c57c7e2 Minor bugfix. 2016-02-11 11:28:29 -06:00
Jonathan Bernard 90a11569da Implementing artist/album lookup in CLI. 2016-02-10 09:53:12 -06:00
Jonathan Bernard 6e6defe544 Changes to make the core ORM database agnostic. 2016-02-10 05:16:22 -06:00
Jonathan Bernard a2c9348a99 Added ConfigWrapper to unify the logic for locating configuration data. 2016-02-09 17:46:18 -06:00
Jonathan Bernard a4d54cb05c Renamed module service->core. 2016-02-09 15:32:59 -06:00