mirror of
https://github.com/xlmnxp/blue-recorder.git
synced 2024-11-23 09:03:10 +03:00
Compare commits
3 Commits
9d61234c93
...
1cfa3bbb1b
Author | SHA1 | Date | |
---|---|---|---|
1cfa3bbb1b | |||
|
ca99fb7578 | ||
|
ba84087c03 |
@ -16,7 +16,7 @@ pub fn initialize() -> PathBuf {
|
||||
if !&config_path.exists() {
|
||||
let config_directories = &mut config_path.to_owned();
|
||||
config_directories.pop();
|
||||
std::fs::create_dir_all(&config_directories).unwrap_or_default();
|
||||
std::fs::create_dir_all(config_directories).unwrap_or_default();
|
||||
std::fs::File::create(&config_path).unwrap();
|
||||
default();
|
||||
} else {
|
||||
|
@ -2,6 +2,7 @@ extern crate subprocess;
|
||||
use crate::utils::{is_snap, is_wayland};
|
||||
use crate::wayland_record::{CursorModeTypes, RecordTypes, WaylandRecorder};
|
||||
use chrono::prelude::*;
|
||||
use filename::Filename;
|
||||
use gettextrs::gettext;
|
||||
use gtk::{prelude::*, ResponseType};
|
||||
use gtk::{ButtonsType, DialogFlags, MessageDialog, MessageType};
|
||||
@ -14,7 +15,6 @@ use std::sync::mpsc::Sender;
|
||||
use std::thread::sleep;
|
||||
use std::time::Duration;
|
||||
use subprocess::Exec;
|
||||
use filename::Filename;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Ffmpeg {
|
||||
@ -144,8 +144,17 @@ impl Ffmpeg {
|
||||
} else if self.record_video.is_active() && is_wayland() {
|
||||
sleep(Duration::from_secs(self.record_delay.value() as u64));
|
||||
|
||||
let tempfile = tempfile::NamedTempFile::new().expect("cannot create temp file").keep().expect("cannot keep temp file");
|
||||
self.temp_video_filename = tempfile.0.file_name().expect("cannot get file name").to_str().unwrap().to_string();
|
||||
let tempfile = tempfile::NamedTempFile::new()
|
||||
.expect("cannot create temp file")
|
||||
.keep()
|
||||
.expect("cannot keep temp file");
|
||||
self.temp_video_filename = tempfile
|
||||
.0
|
||||
.file_name()
|
||||
.expect("cannot get file name")
|
||||
.to_str()
|
||||
.unwrap()
|
||||
.to_string();
|
||||
|
||||
let record_window = self.record_window.take();
|
||||
self.record_window.replace(record_window);
|
||||
@ -175,7 +184,7 @@ impl Ffmpeg {
|
||||
ffmpeg_command.arg("-f");
|
||||
ffmpeg_command.arg("pulse");
|
||||
ffmpeg_command.arg("-i");
|
||||
ffmpeg_command.arg(&self.audio_id.active_id().unwrap());
|
||||
ffmpeg_command.arg(self.audio_id.active_id().unwrap());
|
||||
ffmpeg_command.arg("-f");
|
||||
ffmpeg_command.arg("ogg");
|
||||
ffmpeg_command.arg(format!(
|
||||
@ -244,9 +253,7 @@ impl Ffmpeg {
|
||||
|
||||
let audio_filename = format!("{}.temp.audio", self.saved_filename.as_ref().unwrap());
|
||||
|
||||
let is_video_record = {
|
||||
std::path::Path::new(video_filename.as_str()).exists()
|
||||
};
|
||||
let is_video_record = { std::path::Path::new(video_filename.as_str()).exists() };
|
||||
let is_audio_record = std::path::Path::new(audio_filename.as_str()).exists();
|
||||
|
||||
if is_video_record {
|
||||
@ -255,8 +262,7 @@ impl Ffmpeg {
|
||||
Command::new("ffmpeg")
|
||||
.args([
|
||||
"-i",
|
||||
self.temp_video_filename
|
||||
.as_str(),
|
||||
self.temp_video_filename.as_str(),
|
||||
"-crf",
|
||||
"23", // default quality
|
||||
"-c:a",
|
||||
|
@ -577,7 +577,7 @@ pub fn build_ui(application: &Application) {
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
let logo = Image::from_file(&about_icon_path.to_str().unwrap());
|
||||
let logo = Image::from_file(about_icon_path.to_str().unwrap());
|
||||
about_dialog.set_transient_for(Some(&main_window));
|
||||
about_dialog.set_program_name(Some(&gettext("Blue Recorder")));
|
||||
about_dialog.set_version(Some("0.2.0"));
|
||||
|
Loading…
Reference in New Issue
Block a user