Commit graph

81 commits

Author SHA1 Message Date
mykola2312
04b8633ab2 bump version to release 2024-05-01 04:00:23 +03:00
mykola2312
9606983dd5 fix typos and errors in readme, add more explanation about pulseaudio 2024-05-01 03:58:30 +03:00
mykola2312
d0fd409716 write proper readme, add linux dotfiles, photos 2024-05-01 03:46:13 +03:00
mykola2312
bd35259111 allow piir config having multiple bin sets, so selecting between different tv remotes would be easy 2024-05-01 00:20:51 +03:00
mykola2312
a28da85ec4 implement fetching m3u from url 2024-04-30 23:11:21 +03:00
mykola2312
59801a6ddd stabilize MPV playback, adjust some intervals and timeouts. Make TaskProcess give more proper process state - so ProcessService wont kill process in state of starting or shutdowning 2024-04-29 12:47:52 +03:00
mykola2312
b80f8f4b29 fixed bug in waitForConnection when it will not exit loop after successful connection 2024-04-29 11:50:37 +03:00
mykola2312
5d5c47d259 handle SocketClosedException, so we could atleast notice that our socket got shutdown. TODO: fix possible recursion at line 232 2024-04-29 10:54:04 +03:00
mykola2312
acdad8acb0 implement MPV playback check to restart stuck player (happens with network issues). Make TaskProcess returning just boolean, therefore forcing exception handling to be in implementation. Fix MPV's isAlive call in spawn - you shouldn't do that here, because MPV state at that moment is undefined. Finally make MPVCommandResult spewing String and not nulls 2024-04-29 08:15:01 +03:00
mykola2312
b666981e1e add unit test for MPVCommand 2024-04-29 06:19:56 +03:00
mykola2312
3018d94a2c make panels dark with white font, so it doesnt hurt eyes in dark room 2024-04-29 04:46:20 +03:00
mykola2312
56a25aaa65 add example for close action 2024-04-29 04:17:11 +03:00
mykola2312
e35d922d05 finally get working PiIR 2024-04-29 04:13:45 +03:00
mykola2312
113f287415 implement PiIR integration 2024-04-28 03:22:03 +03:00
mykola2312
5767116a07 remove "i18n" since it complicates jar building lol 2024-04-28 01:42:51 +03:00
mykola2312
9fc873d9d9 begin working on piir 2024-04-28 01:42:06 +03:00
mykola2312
f53d0efb66 make maven build standalone jar 2024-04-28 00:30:59 +03:00
mykola2312
a4b939f188 remove swing utilities, since it doesnt work as intended 2024-04-27 21:31:55 +03:00
mykola2312
248092dfcf implement blocking queue in MenuPanel, that way other threads like PiIR could post actions 2024-04-27 21:30:58 +03:00
mykola2312
b4557637c2 refactor: dissolve config package, since all config classes are subject dependent therefore must stay in related packages 2024-04-27 21:10:27 +03:00
mykola2312
1eab59c7d2 begin working on PiIR integration 2024-04-27 21:06:16 +03:00
mykola2312
93be124e93 make MenuPanel spawn MPV. Works flawlessly. also load categories and channels only when menu position was actually changed 2024-04-26 07:08:12 +03:00
mykola2312
d29129a1f3 implement async command response handling 2024-04-26 05:40:50 +03:00
mykola2312
14676023b8 refactor: merge MPV and MPVSocket into one class 2024-04-26 04:16:43 +03:00
mykola2312
c91070ae15 implement basic oop for mpv ipc 2024-04-26 03:02:08 +03:00
mykola2312
b2626441fc implement basic mpv ipc 2024-04-26 02:29:04 +03:00
mykola2312
997b474b66 implement some sort of health check - ProcessService will manage and respawn process if it dies for some reason 2024-04-25 19:29:18 +03:00
mykola2312
4c8c068c87 begin working on mpv integration 2024-04-25 18:44:33 +03:00
mykola2312
a6a6c7bca3 setup logging properly, remove log4j dependencies 2024-04-25 02:55:20 +03:00
mykola2312
af7033d1e4 CRITICAL: switch from log4j to logback because turns out CVE is not patched 2024-04-25 02:01:43 +03:00
mykola2312
b03f34ffeb implement TaskDispatcher to plan tasks like cron does 2024-04-24 04:19:32 +03:00
mykola2312
8b3005bac9 remove redundant code, fix channel selection index when switching categories 2024-04-23 17:56:23 +03:00
mykola2312
4802550b1b make MenuPanel load categories and channels from database 2024-04-23 17:53:22 +03:00
mykola2312
af6f9d5db6 fix bug when source would indefinitely append to table instead of updating it because of null value behavior in unique indices 2024-04-23 17:10:48 +03:00
mykola2312
996829b8e9 now store each crawler wave in crawl table as well as datetime in unix epoch timestamp, force jooq use bigint for datetime types. fetch source list from database instead of json, allowing hot reload 2024-04-23 15:28:14 +03:00
mykola2312
7b96dd5cf9 add new tables to sql migration, begin working on more proper relations for channels and crawls 2024-04-22 21:55:17 +03:00
mykola2312
845d15fc3f move M3ULoader into crawler 2024-04-22 21:06:41 +03:00
mykola2312
39a9020e31 move m3u loading into crawler class that will be responsible for all m3u fetching, parsing and updating 2024-04-22 21:02:48 +03:00
mykola2312
116f276c21 make one big upsert to update channels using batchMerge. very fast compared to doing every insert individually 2024-04-22 03:47:05 +03:00
mykola2312
62a1013cd7 fix M3U parsing bug, adjust unit tests 2024-04-22 00:03:04 +03:00
mykola2312
9cc7f254e4 make first working M3ULoader, however there is huge bug related to M3U parsing that needs to be fixed asap, as well as unit tests are incomplete 2024-04-21 22:50:38 +03:00
mykola2312
4dd212dff8 begin implementing m3u loading into database 2024-04-20 16:57:43 +03:00
mykola2312
a80da909b7 begin implementing proper database 2024-04-20 14:48:32 +03:00
mykola2312
2c8a181b1c M3U parser works, done some unit tests 2024-04-20 14:33:02 +03:00
mykola2312
fbec61ffa5 begin working on M3U parser. came up with very good regex to extract extinf data 2024-04-20 12:55:09 +03:00
mykola2312
0439b78b6b change LinkedList to ArrayList since in preallocated environment it would be O(1) access time, rather than O(n) in case of LinkedList 2024-04-20 10:53:49 +03:00
mykola2312
f223dd5110 implement some verbose classes for dealing with web requests 2024-04-19 19:02:27 +03:00
mykola2312
8d65968173 implement basic https get fetch 2024-04-19 18:23:23 +03:00
mykola2312
8f897ddf71 add m3u local source type 2024-04-19 14:52:32 +03:00
mykola2312
ca609e3848 add sources (for web crawler), implement unit tests for json config 2024-04-19 14:36:54 +03:00