mod app; mod cue_view; mod player; mod preferences; mod subtitle_extractor; mod subtitle_view; mod transcript; mod util; use std::env; use gtk::{CssProvider, STYLE_PROVIDER_PRIORITY_APPLICATION, gdk, glib}; use relm4::RelmApp; use crate::app::App; fn main() { env_logger::init(); let args: Vec = env::args().collect(); if args.len() != 2 { eprintln!("Usage: {} ", args[0]); std::process::exit(1); } let video_url = args[1].clone(); gtk::init().expect("Failed to initialize GTK"); gst::init().expect("Failed to initialize GStreamer"); ffmpeg::init().expect("Failed to initialize FFmpeg"); let css_provider = CssProvider::new(); css_provider.load_from_bytes(&glib::Bytes::from_static(include_bytes!( "../resources/style.css" ))); gtk::style_context_add_provider_for_display( &gdk::Display::default().unwrap(), &css_provider, STYLE_PROVIDER_PRIORITY_APPLICATION, ); relm4::RELM_THREADS.set(4).unwrap(); let relm = RelmApp::new("tc.mal.lleap").with_args(vec![]); relm.run::(video_url); }