Commit graph

  • 04b8633ab2 bump version to release main 1.0 mykola2312 2024-05-01 04:00:23 +03:00
  • 9606983dd5 fix typos and errors in readme, add more explanation about pulseaudio mykola2312 2024-05-01 03:58:30 +03:00
  • d0fd409716 write proper readme, add linux dotfiles, photos mykola2312 2024-05-01 03:46:13 +03:00
  • bd35259111 allow piir config having multiple bin sets, so selecting between different tv remotes would be easy mykola2312 2024-05-01 00:20:51 +03:00
  • a28da85ec4 implement fetching m3u from url mykola2312 2024-04-30 23:11:21 +03:00
  • 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 mykola2312 2024-04-29 12:47:52 +03:00
  • b80f8f4b29 fixed bug in waitForConnection when it will not exit loop after successful connection mykola2312 2024-04-29 11:50:37 +03:00
  • 5d5c47d259 handle SocketClosedException, so we could atleast notice that our socket got shutdown. TODO: fix possible recursion at line 232 mykola2312 2024-04-29 10:54:04 +03:00
  • 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 mykola2312 2024-04-29 08:15:01 +03:00
  • b666981e1e add unit test for MPVCommand mykola2312 2024-04-29 06:19:56 +03:00
  • 3018d94a2c make panels dark with white font, so it doesnt hurt eyes in dark room mykola2312 2024-04-29 04:46:20 +03:00
  • 56a25aaa65 add example for close action mykola2312 2024-04-29 04:17:11 +03:00
  • e35d922d05 finally get working PiIR mykola2312 2024-04-29 04:13:45 +03:00
  • 113f287415 implement PiIR integration mykola2312 2024-04-28 03:22:03 +03:00
  • 5767116a07 remove "i18n" since it complicates jar building lol mykola2312 2024-04-28 01:42:51 +03:00
  • 9fc873d9d9 begin working on piir mykola2312 2024-04-28 01:42:06 +03:00
  • f53d0efb66 make maven build standalone jar mykola2312 2024-04-28 00:30:59 +03:00
  • a4b939f188 remove swing utilities, since it doesnt work as intended mykola2312 2024-04-27 21:31:55 +03:00
  • 248092dfcf implement blocking queue in MenuPanel, that way other threads like PiIR could post actions mykola2312 2024-04-27 21:30:58 +03:00
  • b4557637c2 refactor: dissolve config package, since all config classes are subject dependent therefore must stay in related packages mykola2312 2024-04-27 21:10:27 +03:00
  • 1eab59c7d2 begin working on PiIR integration mykola2312 2024-04-27 21:06:16 +03:00
  • 93be124e93 make MenuPanel spawn MPV. Works flawlessly. also load categories and channels only when menu position was actually changed mykola2312 2024-04-26 07:08:12 +03:00
  • d29129a1f3 implement async command response handling mykola2312 2024-04-26 05:40:50 +03:00
  • 14676023b8 refactor: merge MPV and MPVSocket into one class mykola2312 2024-04-26 04:16:43 +03:00
  • c91070ae15 implement basic oop for mpv ipc mykola2312 2024-04-26 03:02:08 +03:00
  • b2626441fc implement basic mpv ipc mykola2312 2024-04-26 02:29:04 +03:00
  • 997b474b66 implement some sort of health check - ProcessService will manage and respawn process if it dies for some reason mykola2312 2024-04-25 19:29:18 +03:00
  • 4c8c068c87 begin working on mpv integration mykola2312 2024-04-25 18:44:33 +03:00
  • a6a6c7bca3 setup logging properly, remove log4j dependencies mykola2312 2024-04-25 02:55:20 +03:00
  • af7033d1e4 CRITICAL: switch from log4j to logback because turns out CVE is not patched mykola2312 2024-04-25 02:01:43 +03:00
  • b03f34ffeb implement TaskDispatcher to plan tasks like cron does mykola2312 2024-04-24 04:19:32 +03:00
  • 8b3005bac9 remove redundant code, fix channel selection index when switching categories mykola2312 2024-04-23 17:56:23 +03:00
  • 4802550b1b make MenuPanel load categories and channels from database mykola2312 2024-04-23 17:53:22 +03:00
  • af6f9d5db6 fix bug when source would indefinitely append to table instead of updating it because of null value behavior in unique indices mykola2312 2024-04-23 17:10:48 +03:00
  • 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 mykola2312 2024-04-23 15:28:14 +03:00
  • 7b96dd5cf9 add new tables to sql migration, begin working on more proper relations for channels and crawls mykola2312 2024-04-22 21:55:17 +03:00
  • 845d15fc3f move M3ULoader into crawler mykola2312 2024-04-22 21:06:41 +03:00
  • 39a9020e31 move m3u loading into crawler class that will be responsible for all m3u fetching, parsing and updating mykola2312 2024-04-22 21:02:48 +03:00
  • 116f276c21 make one big upsert to update channels using batchMerge. very fast compared to doing every insert individually mykola2312 2024-04-22 03:47:05 +03:00
  • 62a1013cd7 fix M3U parsing bug, adjust unit tests mykola2312 2024-04-22 00:03:04 +03:00
  • 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 mykola2312 2024-04-21 22:50:38 +03:00
  • 4dd212dff8 begin implementing m3u loading into database mykola2312 2024-04-20 16:57:43 +03:00
  • a80da909b7 begin implementing proper database mykola2312 2024-04-20 14:48:32 +03:00
  • 2c8a181b1c M3U parser works, done some unit tests mykola2312 2024-04-20 14:33:02 +03:00
  • fbec61ffa5 begin working on M3U parser. came up with very good regex to extract extinf data mykola2312 2024-04-20 12:55:09 +03:00
  • 0439b78b6b change LinkedList to ArrayList since in preallocated environment it would be O(1) access time, rather than O(n) in case of LinkedList mykola2312 2024-04-20 10:53:49 +03:00
  • f223dd5110 implement some verbose classes for dealing with web requests mykola2312 2024-04-19 19:02:27 +03:00
  • 8d65968173 implement basic https get fetch mykola2312 2024-04-19 18:23:23 +03:00
  • 8f897ddf71 add m3u local source type mykola2312 2024-04-19 14:52:32 +03:00
  • ca609e3848 add sources (for web crawler), implement unit tests for json config mykola2312 2024-04-19 14:36:54 +03:00
  • f452a9059d remove comment mykola2312 2024-04-19 13:32:35 +03:00
  • 685e71bae5 set proper log panel divider location mykola2312 2024-04-19 13:31:58 +03:00
  • f85c71799f begin working on log panel for immediate status and info reporting mykola2312 2024-04-19 12:45:48 +03:00
  • bb7e686451 fix out of bounds error when handling menu actions, turns out java's remainder operation can spill negative numbers mykola2312 2024-04-19 12:45:04 +03:00
  • 0cd0ec4b03 have some fun with jooq mykola2312 2024-04-19 09:22:25 +03:00
  • cc2e24afbd micro refactor mykola2312 2024-04-19 09:04:56 +03:00
  • 68909c3102 make jooq use my db connection pool mykola2312 2024-04-19 09:01:09 +03:00
  • 5ff35527a2 begin implementing sql connection pool (bruh) mykola2312 2024-04-19 08:07:53 +03:00
  • 0c6da66529 add db utility class, make it configurable with json mykola2312 2024-04-18 14:50:37 +03:00
  • 32aa5a9bb0 finally get jooq and his code generation working mykola2312 2024-04-18 14:27:35 +03:00
  • 273968fd9d setup logging mykola2312 2024-04-18 09:25:15 +03:00
  • 13a978a318 sage version to 17 LTS mykola2312 2024-04-18 07:49:00 +03:00
  • 349cc7ec00 setup jooq and flyway for db mapping & migrations mykola2312 2024-04-13 09:31:21 +03:00
  • 3747ef33a4 move config classes to its own module, make font configurable mykola2312 2024-04-12 19:37:37 +03:00
  • c0369e6015 move all menu ui to its own panel, because we may have more than one panel mykola2312 2024-04-12 19:25:43 +03:00
  • 169dc19bb7 small handleMenuAction refactor mykola2312 2024-04-12 08:01:41 +03:00
  • f5d5808a72 got keyboard controls work via input and action bindings mykola2312 2024-04-12 07:47:04 +03:00
  • e96d3c681b implemented EDT for MainFrame, making access from non-UI thread possible mykola2312 2024-04-12 05:17:00 +03:00
  • a0d28ecaa9 do the same for horizontal bars mykola2312 2024-04-08 14:40:14 +03:00
  • 2594ff0eed make JList scrollable, but scroll bars are invisible (because it's never intended to be controlled via mouse) mykola2312 2024-04-08 14:37:48 +03:00
  • 0327a93cb3 auto fill array for testing purposes mykola2312 2024-04-08 14:33:25 +03:00
  • 223c051ac6 finally get working JSplitPanes correctly mykola2312 2024-04-08 13:49:08 +03:00
  • e827946654 adjust divider, add example config mykola2312 2024-04-08 12:56:47 +03:00
  • 5c4d25a846 begin working on ui - messing around with JSplitPane mykola2312 2024-04-08 12:28:33 +03:00
  • 184a75752f implement json configuration mykola2312 2024-04-08 12:02:44 +03:00
  • 41ebc47800 configure unit testing for project mykola2312 2024-04-08 08:36:00 +03:00
  • 532d3ed89b fix typo mykola2312 2024-04-08 08:01:39 +03:00
  • 39dc9bf963 implement basic i18n mykola2312 2024-04-08 08:00:29 +03:00
  • 0e3886157a fix package name, add basic JPanel mykola2312 2024-04-08 07:40:12 +03:00
  • ba1c02d6ab properly setup pom mykola2312 2024-04-08 07:22:56 +03:00
  • 09c7cf8b85 Initial commit mykola2312 2024-04-08 06:46:44 +03:00