Commit Graph

26 Commits

Author SHA1 Message Date
Kevin Whitaker
39a780cb95 Remove lots of DB calls just for getting the current track. Add update call for vote closing. Add some code to try and avoid having current playing track show up in votes again. 2017-02-08 21:30:23 -05:00
Kevin Whitaker
1a545af49f Change track DB add method to give more details on failure when it happens. 2017-02-08 19:47:35 -05:00
Kevin Whitaker
71a2cd6321 Add taglib to project to get extra cover data(and possibly replace libgroove for this function). Remove oggs from accepted files until I can figure out cover data for them better. Add non-persisted field for this to audiotrack object and method to add this data to it in memory. 2017-02-08 00:56:32 -05:00
Kevin Whitaker
44df1cf607 Have sqlite connection object be pointers to help make sure correct destruction pattern happens. 2017-02-06 01:38:12 -05:00
Kevin Whitaker
166443f9ad Test allowing oggs through the scanner. Clean up some transactions on first launch to prevent locking from a uncapped while loop. Also don't start the event loop without 3 tracks or voting can't happen. 2017-02-06 00:44:31 -05:00
Kevin Whitaker
dc37ef9e06 remove launch scan code I wasn't sure if I wanted. 2017-02-05 19:01:24 -05:00
Kevin Whitaker
47670aede8 Change percentages to allow a little more chance of different genre. 2017-02-05 18:38:31 -05:00
Kevin Whitaker
6882d5ba71 Use same next method to make cleaner than increment operator. 2017-02-05 18:23:24 -05:00
Kevin Whitaker
cb5b2f7ad6 Stop using pointers from DB as storage mechanism. Start storing copies of the object itself. Use commits after methods are done with transaction to hopefully help with DB issues. Don't use map because it requires too much about the key object I don't need. Add boolean that prevents vote end from being called constantly during it's 3 second window. 2017-02-05 18:20:03 -05:00
Kevin Whitaker
75c87c41f8 Write out event loop buckets. Implement nowplaying and voting to put in enough to be mostly self-running. Remove as much static as possible from groovemgr class to make less of a mess around how things are accessed. Try to solve concurrency issues in DB. 2017-02-05 00:04:29 -05:00
Kevin Whitaker
dff7fa145d Fix music dir being set in bad place again. Update web calls that backend calls to match const requirements. Have playlist and player part of backend class now for better handling. Set up getting first vote list and sending. 2017-02-04 14:15:18 -05:00
Kevin Whitaker
9b2783238e Add shutdown path for audio layer. Add basic event loop after setting up groove objects. Fix race condition bug by not setting path first. 2017-02-03 00:29:30 -05:00
Kevin Whitaker
685d1828ad add limits to places where offsets to avoid some syntax problems. Rename grooveplayer class to avoid conflict with official libgroove class. Add admin event. Write start of event loop that picks initial song. 2017-02-01 22:13:40 -05:00
Kevin Whitaker
a38258a883 Add groove player to stuff linked in. Add some vars to hold player events to watch for in event loop. Implement first version of vote picking algorithm. 2017-01-31 22:06:58 -05:00
Kevin Whitaker
83efc750eb Add code to add track to DB and remove old ones that are gone. Added fingerprint lib to link for id-ing tracks. Make sure DB is logical after these changes. Change music path due to complaints I don't quite understand. 2017-01-30 22:48:13 -05:00
Kevin Whitaker
50f30d494f filesystem support works in c++11, but needs another lib linked. Add some namespacing to make easier to transition to official filesystem lib release. Move static var in wrong place. Add first method ot handle scanning. 2017-01-30 00:22:03 -05:00
Kevin Whitaker
f291b65a47 Force c++17 standard so we can use filesystem std lib. Currently will only work on gcc until cmake update. 2017-01-29 20:31:46 -05:00
Kevin Whitaker
ad26e8351f Add more UI events and get backend threaded up. 2017-01-29 19:39:30 -05:00
Kevin Whitaker
ab4df84657 Added base of code to allow sending backend updates to connected clients. 2017-01-29 17:27:27 -05:00
Kevin Whitaker
22f1b90238 Add interface class to represent player interface. Have simple hide/show animation between. Put up more interface elements on login interface to show inteded ui. 2017-01-28 16:51:14 -05:00
Kevin Whitaker
93e095d46e Have GroovePlayer init music db on creation. Make fields correctly be fk. 2017-01-28 14:41:08 -05:00
Kevin Whitaker
c8637f2af6 Add base db objects and login widget. 2017-01-28 12:01:26 -05:00
Kevin Whitaker
a60e2a0c34 Make GroovePlayer a singleton to avoid being created for each browser. Add login UI component to eventually hold landing screen. Actually start server with initial interface. 2017-01-28 00:56:22 -05:00
Kevin Whitaker
093f74a846 Add basic classes for application. Move source around and properly fix up build system to link and use correct c++ compiler version. 2017-01-27 22:44:36 -05:00
Kevin Whitaker
54029126a1 Added cmake build items for required libs. 2017-01-27 20:28:58 -05:00
Kevin Whitaker
ca53e4d706 initial project import from KDevelop 2017-01-27 19:29:54 -05:00