mod app; mod cue_view; mod open_dialog; mod player; mod preferences; mod subtitle_extraction; mod subtitle_selection_dialog; mod subtitle_view; mod track_selector; mod tracks; mod transcript; mod util; 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"); gstgtk4::plugin_register_static().expect("Failed to register gstgtk4 plugin."); 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::(()); }