Commit Graph

46 Commits

Author SHA1 Message Date
Jonathan Bernard
3d65a47781 Allow disc_number to be a string (1/2, 2/2, for example). 2016-03-21 01:12:38 -05:00
Jonathan Bernard
32f99df53e Fixed bugs introduced by trying to use DISCTINCT after ORDER BY. 2016-03-16 08:20:44 -05:00
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