Commit Graph

59 Commits

Author SHA1 Message Date
Markil3
afce1a8628 Moves some interface activities to the Swing thread.
We really should be doing this anyway.
2021-10-31 16:01:07 -06:00
Markil3
8022104373 Makes some modifications to console output.
This should hopefully make things easier to parse for the end user.
2021-10-31 16:00:14 -06:00
Markil3
66d803e301 Improves commenting and thread naming.
This should hopefully help debugging a little.
2021-10-31 15:59:03 -06:00
Markil3
6a1c7d86e3 Added better CLI support.
This approach is more flexible.
2021-10-31 14:05:27 -06:00
Markil3
0de20568a7 Gives the interface the ability to pull information from the YouTube page.
This will make filling in song data much easier.
2021-10-10 16:20:01 -06:00
Markil3
a92d686ddb Allowed all logging to be viewed by the interface.
It is just much easier this way.
2021-10-10 15:00:31 -06:00
Markil3
72ccfbc444 Stabilized the browser shutdown process. 2021-10-09 14:31:47 -06:00
Markil3
0ffa626cb7 Moved most player tasks to ForkJoin.
This system works a bit better.
2021-09-18 16:04:37 -06:00
Markil3
2e2748f9e9 Merges the two album tables into one.
Albums are independent of how the song is stored. We don't need to separate them.
2021-09-18 15:00:12 -06:00
William Hubbard
8bb7086a44 Moved command-line options to the wiki.
It would be best to keep everything centralized.
2021-09-17 18:44:55 +00:00
William Hubbard
9a89d32c9c Adds images to the readme 2021-09-15 22:08:59 +00:00
William Hubbard
2e4763390d Adds some demo images 2021-09-15 22:04:42 +00:00
William Hubbard
ccc013df30 Create README.md 2021-09-15 21:55:43 +00:00
Markil3
b5b1d495f0 Adds a couple of unit tests for the browser 2021-09-15 12:13:21 -06:00
Markil3
4f8b70b2f4 Makes the application run independently of the current directory. v0.1 2021-09-15 10:04:17 -06:00
Markil3
f8be50af9d Prevents the browser from locking on shutdown if the browser ran into a startup error. 2021-09-15 09:35:16 -06:00
Markil3
f7370ba08a Creates a self-extracting install script. 2021-09-15 09:03:48 -06:00
Markil3
90f82cb05d Adds a CLI that will interface with the currently running instance of the player. 2021-09-14 23:56:47 -06:00
Markil3
3860353f08 Adds the beginnings of a CLI. 2021-09-14 18:59:05 -06:00
Markil3
b83b6d2736 Has stuff wait for the database to load.
A lot of stuff (CLI in particular) isn't particurally useful until the database loads. However, we still want a GUI, so we just use syncronization for stuff.
2021-09-14 18:58:54 -06:00
Markil3
55f879fedd Almost completely separates the GUI from the logic.
This will hopefully make debugging easier as well as make a CLI possible.
2021-09-14 17:02:18 -06:00
Markil3
999f3345cc Moves player logic to its own class, away from Interface
In the future, this will make testing and a CLI environment easier.
2021-09-14 16:39:40 -06:00
Markil3
92ebb75e9d Improves the debugging messages some.
There is something up with the browser interface, and these can help me troubleshoot.
2021-09-14 14:39:38 -06:00
Markil3
2b0eca7a10 Reduces the SQL errors of certain songs with apostrophes in their names. 2021-09-14 13:58:24 -06:00
Markil3
2e8b65ca9c Improves performance and accuracy of the song list.
Most of the problem was sorting stuff.
2021-09-14 13:26:25 -06:00
Markil3
849771853c Improves error handling (foreground still needs testing). 2021-09-14 11:21:02 -06:00
Markil3
3eab100a08 Improves Gradle's ability to update browser addons 2021-09-14 10:53:01 -06:00
Markil3
91980aac75 Adds a way to view interface logs from within the interface.
Honestly, my tool (with filtration utilities to boot) is probably more useful than regular logs.
2021-09-06 11:37:59 -06:00
Markil3
275873155c Adds a toolbar and moves most functionality to actions. 2021-09-06 07:37:51 -06:00
Markil3
d453135e03 Adds localization 2021-09-05 15:46:55 -06:00
Markil3
c24d6c2367 Improved support for Linux 2021-09-04 15:11:36 -06:00
Markil3
5e4ae23978 Has Gradle download and install the browser rather than bundle it.
This is more flexible, and I couldn't exactly upload the Firefox installation to Git before.
2021-08-30 17:15:36 -06:00
Markil3
b35e2eefd8 Ensures that we close all sockets and socket servers before exiting.
This makes the program more stable, and ensures that the connection is established every time we start.
2021-08-23 08:31:27 -06:00
Markil3
9c2cea1662 Adds full support for YouTube playback.
While a few optimizations could be made, YouTube playback is almost as seamless as local playback.
2021-08-17 01:23:23 -06:00
Markil3
ede9132279 Adds the ability to play youtube videos.
It still needs a bit of work, but playing and pausing are operational.
2021-08-16 22:42:44 -06:00
Markil3
b546c81fa1 Adds the ability to add internet songs to the library. 2021-08-15 18:18:02 -06:00
Markil3
76594b279c Refines the local provider a bit 2021-08-15 16:40:31 -06:00
Markil3
e5ab98345f Adds local playback via VLC 2021-08-12 17:47:23 -06:00
Markil3
7c71c031ec Some more work with playback.
WARNING: UNSTABLE
2021-08-11 10:16:56 -06:00
Markil3
8082407ca2 Cleans up the QueueList a bit. 2021-08-09 21:38:01 -06:00
Markil3
d76105d7bf Adds a context menu to the songs in the queue.
This allows for finer control over song order (in that it lets us remove songs).
2021-08-09 21:36:58 -06:00
Markil3
52262b5668 Added a queue system. 2021-08-03 13:11:36 -06:00
Markil3
8386c9575c Improves the caching strategy.
Now much more performant.
2021-08-02 15:08:10 -07:00
Markil3
69a1d9cbf4 Lets the interface cache local song/album data
This will let the interface avoid a system scan every time, improving performance.
2021-08-02 13:02:33 -07:00
Markil3
bc327e8ab7 Provides the interface the ability to load up songs from the file system. 2021-08-02 08:49:52 -07:00
Markil3
105c89b615 Established a connection between the Interface and the browser.
All we're doing right now is pinging, but it should be fairly simple to get an API working now that the browser and interface can talk.
2021-07-29 11:37:07 -07:00
Markil3
1321549ef3 Moved most of the message handling to other classes.
I'm finding that this code is being used multiple times, so inheritance seems to be warranted.
2021-07-29 09:11:33 -07:00
Markil3
6cc001af70 Allows all messages to the browser to be sent without waiting for a response.
This prevents any one message from holding up the browser from receiving additional insructions.
2021-07-27 10:52:02 -07:00
Markil3
b89dd9783a Set up a callback system for the browser link.
This should somewhat simulate asynchronous method calling.
2021-07-26 22:53:44 -07:00
Markil3
66ce116da4 Added better logging and browser support.
We still need to work on the Linux browser a bit.
2021-07-26 20:27:43 -07:00