name change; use youtube-dlc fork

This commit is contained in:
Max Bradbury 2020-11-11 12:48:47 +00:00
parent 3a7cb6c6a3
commit 09d9204ea5
3 changed files with 21 additions and 10 deletions

View File

@ -1,7 +1,7 @@
[package] [package]
name = "youtube-dl-gtk" name = "media-downloader-gtk"
description = "a simple frontend for youtube-dl" description = "a simple frontend for youtube-dlc"
version = "0.1.3" version = "0.1.4"
authors = ["Max Bradbury <max@tinybird.info>"] authors = ["Max Bradbury <max@tinybird.info>"]
repository = "https://tinybird.dev/max/youtube-dl-gtk" repository = "https://tinybird.dev/max/youtube-dl-gtk"
license = "MIT" license = "MIT"

View File

@ -1,6 +1,7 @@
# youtube-dl-gtk # media-downloader
a simple graphical frontend for the `youtube-dl` media downloader. a simple graphical frontend for the `youtube-dlc` media downloader.
`youtube-dlc` must be installed and in your PATH.
really just an experiment in creating my first desktop program, so don't expect too much. really just an experiment in creating my first desktop program, so don't expect too much.
@ -8,11 +9,21 @@ uses `gtk-rs`. released under the MIT license.
## features ## features
download from any media source that `youtube-dl` supports (e.g. soundcloud, mixcloud, etc.) download from any media source that `youtube-dlc` supports (e.g. soundcloud, mixcloud, etc.)
extract audio and convert to mp3 extract audio and convert to mp3
## known problems ## known problems
will hang after clicking "go!" due to `youtube-dl` being executed in the same thread. no validation for URL bar
no user feedback
will hang after clicking "go!" due to `youtube-dlc` being executed in the same thread.
there is no user feedback so this basically looks like the program crashing. there is no user feedback so this basically looks like the program crashing.
TODO: investigate using https://crates.io/crates/gtk-future-executor
would it be possible to add progress bars for in-progress downloads somehow?
notifications for when downloads finish?

View File

@ -11,7 +11,7 @@ const SPACING: i32 = 16;
fn build_ui(application: &gtk::Application) { fn build_ui(application: &gtk::Application) {
let window = gtk::ApplicationWindow::new(application); let window = gtk::ApplicationWindow::new(application);
window.set_title("youtube-dl"); window.set_title("media downloader");
window.set_border_width(SPACING as u32); window.set_border_width(SPACING as u32);
window.set_position(gtk::WindowPosition::Center); window.set_position(gtk::WindowPosition::Center);
window.set_default_size(400, 100); window.set_default_size(400, 100);
@ -24,7 +24,7 @@ fn build_ui(application: &gtk::Application) {
input_url.set_placeholder_text(Some("Enter URL here")); input_url.set_placeholder_text(Some("Enter URL here"));
input_url.set_input_purpose(InputPurpose::Url); input_url.set_input_purpose(InputPurpose::Url);
horizontal.set_homogeneous(true); horizontal.set_homogeneous(true);
window.add(&vertical); window.add(&vertical);
@ -40,7 +40,7 @@ fn build_ui(application: &gtk::Application) {
button.connect_clicked(move |_| { button.connect_clicked(move |_| {
let url = input_url.get_buffer().get_text(); let url = input_url.get_buffer().get_text();
println!("url: {}", url); println!("url: {}", url);
let mut youtube_dl = Command::new("youtube-dl"); let mut youtube_dl = Command::new("youtube-dlc");
if convert_to_mp3.get_active() { if convert_to_mp3.get_active() {
println!("convert to mp3: true"); println!("convert to mp3: true");