Blub
This commit is contained in:
parent
cc0530471f
commit
0c881e0c8b
@ -8,6 +8,7 @@ alsa = "^0.1.8"
|
|||||||
alsa-sys = "^0.1.1"
|
alsa-sys = "^0.1.1"
|
||||||
libc = "^0.2.23"
|
libc = "^0.2.23"
|
||||||
gdk-sys = { git = "https://github.com/gtk-rs/sys" }
|
gdk-sys = { git = "https://github.com/gtk-rs/sys" }
|
||||||
|
gdk-pixbuf = { git = "https://github.com/gtk-rs/gdk-pixbuf.git" }
|
||||||
gtk-sys = { git = "https://github.com/gtk-rs/sys" }
|
gtk-sys = { git = "https://github.com/gtk-rs/sys" }
|
||||||
glib = { git = "https://github.com/gtk-rs/glib.git" }
|
glib = { git = "https://github.com/gtk-rs/glib.git" }
|
||||||
glib-sys = { git = "https://github.com/gtk-rs/sys" }
|
glib-sys = { git = "https://github.com/gtk-rs/sys" }
|
||||||
|
@ -543,41 +543,6 @@
|
|||||||
<property name="position">1</property>
|
<property name="position">1</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
|
||||||
<object class="GtkFrame" id="frame6">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="label_xalign">0</property>
|
|
||||||
<property name="shadow_type">none</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkCheckButton" id="system_theme">
|
|
||||||
<property name="label" translatable="yes">Use System Theme</property>
|
|
||||||
<property name="use_action_appearance">False</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">False</property>
|
|
||||||
<property name="halign">start</property>
|
|
||||||
<property name="margin_start">12</property>
|
|
||||||
<property name="draw_indicator">True</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="label17">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">False</property>
|
|
||||||
<property name="margin_bottom">5</property>
|
|
||||||
<property name="label" translatable="yes"><b>Icon Theme</b></property>
|
|
||||||
<property name="use_markup">True</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">False</property>
|
|
||||||
<property name="padding">5</property>
|
|
||||||
<property name="position">2</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child type="tab">
|
<child type="tab">
|
||||||
|
64
src/audio.rs
64
src/audio.rs
@ -96,8 +96,16 @@ impl Audio {
|
|||||||
elem_name: Option<String>)
|
elem_name: Option<String>)
|
||||||
-> Result<()> {
|
-> Result<()> {
|
||||||
debug!("Switching cards");
|
debug!("Switching cards");
|
||||||
debug!("Old card name: {}", self.acard.borrow().card_name().unwrap());
|
debug!("Old card name: {}",
|
||||||
debug!("Old chan name: {}", self.acard.borrow().chan_name().unwrap());
|
self.acard
|
||||||
|
.borrow()
|
||||||
|
.card_name()
|
||||||
|
.unwrap());
|
||||||
|
debug!("Old chan name: {}",
|
||||||
|
self.acard
|
||||||
|
.borrow()
|
||||||
|
.chan_name()
|
||||||
|
.unwrap());
|
||||||
let cb = self.acard
|
let cb = self.acard
|
||||||
.borrow()
|
.borrow()
|
||||||
.cb
|
.cb
|
||||||
@ -106,8 +114,16 @@ impl Audio {
|
|||||||
let mut ac = self.acard.borrow_mut();
|
let mut ac = self.acard.borrow_mut();
|
||||||
*ac = AlsaCard::new(card_name, elem_name, cb)?;
|
*ac = AlsaCard::new(card_name, elem_name, cb)?;
|
||||||
}
|
}
|
||||||
debug!("Old card name: {}", self.acard.borrow().card_name().unwrap());
|
debug!("Old card name: {}",
|
||||||
debug!("Old chan name: {}", self.acard.borrow().chan_name().unwrap());
|
self.acard
|
||||||
|
.borrow()
|
||||||
|
.card_name()
|
||||||
|
.unwrap());
|
||||||
|
debug!("Old chan name: {}",
|
||||||
|
self.acard
|
||||||
|
.borrow()
|
||||||
|
.chan_name()
|
||||||
|
.unwrap());
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,8 +141,14 @@ impl Audio {
|
|||||||
// TODO invoke handlers, make use of user
|
// TODO invoke handlers, make use of user
|
||||||
|
|
||||||
debug!("Setting vol on card {:?} and chan {:?} to {:?} by user {:?}",
|
debug!("Setting vol on card {:?} and chan {:?} to {:?} by user {:?}",
|
||||||
self.acard.borrow().card_name().unwrap(),
|
self.acard
|
||||||
self.acard.borrow().chan_name().unwrap(),
|
.borrow()
|
||||||
|
.card_name()
|
||||||
|
.unwrap(),
|
||||||
|
self.acard
|
||||||
|
.borrow()
|
||||||
|
.chan_name()
|
||||||
|
.unwrap(),
|
||||||
new_vol,
|
new_vol,
|
||||||
user);
|
user);
|
||||||
return self.acard.borrow().set_vol(new_vol);
|
return self.acard.borrow().set_vol(new_vol);
|
||||||
@ -142,8 +164,14 @@ impl Audio {
|
|||||||
let new_vol = f64::ceil(old_vol + (self.scroll_step.get() as f64));
|
let new_vol = f64::ceil(old_vol + (self.scroll_step.get() as f64));
|
||||||
|
|
||||||
debug!("Increase vol on card {:?} and chan {:?} by {:?} to {:?}",
|
debug!("Increase vol on card {:?} and chan {:?} by {:?} to {:?}",
|
||||||
self.acard.borrow().card_name().unwrap(),
|
self.acard
|
||||||
self.acard.borrow().chan_name().unwrap(),
|
.borrow()
|
||||||
|
.card_name()
|
||||||
|
.unwrap(),
|
||||||
|
self.acard
|
||||||
|
.borrow()
|
||||||
|
.chan_name()
|
||||||
|
.unwrap(),
|
||||||
(new_vol - old_vol),
|
(new_vol - old_vol),
|
||||||
new_vol);
|
new_vol);
|
||||||
|
|
||||||
@ -160,8 +188,14 @@ impl Audio {
|
|||||||
let new_vol = old_vol - (self.scroll_step.get() as f64);
|
let new_vol = old_vol - (self.scroll_step.get() as f64);
|
||||||
|
|
||||||
debug!("Decrease vol on card {:?} and chan {:?} by {:?} to {:?}",
|
debug!("Decrease vol on card {:?} and chan {:?} by {:?} to {:?}",
|
||||||
self.acard.borrow().card_name().unwrap(),
|
self.acard
|
||||||
self.acard.borrow().chan_name().unwrap(),
|
.borrow()
|
||||||
|
.card_name()
|
||||||
|
.unwrap(),
|
||||||
|
self.acard
|
||||||
|
.borrow()
|
||||||
|
.chan_name()
|
||||||
|
.unwrap(),
|
||||||
(new_vol - old_vol),
|
(new_vol - old_vol),
|
||||||
new_vol);
|
new_vol);
|
||||||
|
|
||||||
@ -186,8 +220,14 @@ impl Audio {
|
|||||||
|
|
||||||
debug!("Setting mute to {} on card {:?} and chan {:?} by user {:?}",
|
debug!("Setting mute to {} on card {:?} and chan {:?} by user {:?}",
|
||||||
mute,
|
mute,
|
||||||
self.acard.borrow().card_name().unwrap(),
|
self.acard
|
||||||
self.acard.borrow().chan_name().unwrap(),
|
.borrow()
|
||||||
|
.card_name()
|
||||||
|
.unwrap(),
|
||||||
|
self.acard
|
||||||
|
.borrow()
|
||||||
|
.chan_name()
|
||||||
|
.unwrap(),
|
||||||
user);
|
user);
|
||||||
|
|
||||||
return self.acard.borrow().set_mute(mute);
|
return self.acard.borrow().set_mute(mute);
|
||||||
|
@ -12,6 +12,7 @@ extern crate alsa;
|
|||||||
extern crate alsa_sys;
|
extern crate alsa_sys;
|
||||||
extern crate ffi;
|
extern crate ffi;
|
||||||
extern crate gdk;
|
extern crate gdk;
|
||||||
|
extern crate gdk_pixbuf;
|
||||||
extern crate gdk_sys;
|
extern crate gdk_sys;
|
||||||
extern crate glib;
|
extern crate glib;
|
||||||
extern crate glib_sys;
|
extern crate glib_sys;
|
||||||
@ -34,6 +35,7 @@ mod audio;
|
|||||||
mod ui_entry;
|
mod ui_entry;
|
||||||
mod ui_popup_menu;
|
mod ui_popup_menu;
|
||||||
mod ui_popup_window;
|
mod ui_popup_window;
|
||||||
|
mod ui_prefs_dialog;
|
||||||
mod ui_tray_icon;
|
mod ui_tray_icon;
|
||||||
|
|
||||||
use app_state::*;
|
use app_state::*;
|
||||||
@ -50,6 +52,7 @@ fn main() {
|
|||||||
.unwrap_or_else(|e| panic!("Logger initialization failed with {}", e));
|
.unwrap_or_else(|e| panic!("Logger initialization failed with {}", e));
|
||||||
|
|
||||||
let apps = Rc::new(AppS::new());
|
let apps = Rc::new(AppS::new());
|
||||||
|
// let _ = apps.audio.switch_acard(None, None).unwrap();
|
||||||
|
|
||||||
ui_entry::init(apps);
|
ui_entry::init(apps);
|
||||||
|
|
||||||
|
@ -36,6 +36,8 @@ pub fn init_prefs_dialog(appstate: &Rc<AppS>, prefs_dialog: &Rc<PrefsDialog>) {
|
|||||||
prefs_dialog.clone().prefs_dialog.connect_show(move |_| { on_prefs_dialog_show(&apps, &pd); });
|
prefs_dialog.clone().prefs_dialog.connect_show(move |_| { on_prefs_dialog_show(&apps, &pd); });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* DEVICE TAB */
|
||||||
|
|
||||||
/* card_combo.connect_changed */
|
/* card_combo.connect_changed */
|
||||||
{
|
{
|
||||||
let apps = appstate.clone();
|
let apps = appstate.clone();
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
use app_state::*;
|
use app_state::*;
|
||||||
use gdk;
|
use gdk;
|
||||||
|
use gdk_pixbuf;
|
||||||
use gdk_sys;
|
use gdk_sys;
|
||||||
use glib;
|
use glib;
|
||||||
use glib_sys;
|
use glib_sys;
|
||||||
@ -13,6 +14,42 @@ use errors::*;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// struct VolMeter {
|
||||||
|
// pub red: u8,
|
||||||
|
// pub green: u8,
|
||||||
|
// pub blue: u8,
|
||||||
|
// pub x_offset_pct: i64,
|
||||||
|
// pub y_offset_pct: i64,
|
||||||
|
// /* dynamic */
|
||||||
|
// pub pixbuf: gdk_pixbuf::Pixbuf,
|
||||||
|
// pub width: i64,
|
||||||
|
// pub row: u8,
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
// impl VolMeter {
|
||||||
|
// pub fn new() -> VolMeter {
|
||||||
|
// let pixbux = Pixbuf::new();
|
||||||
|
// return VolMeter {
|
||||||
|
// red: 255,
|
||||||
|
// green: 255,
|
||||||
|
// blue: 255,
|
||||||
|
// x_offset_pct: 0,
|
||||||
|
// y_offset_pct: 0,
|
||||||
|
// pixbuf: ,
|
||||||
|
// width: ,
|
||||||
|
// row: ,
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
fn pixbuf_new_from_stock(icon_name: String, size: u32) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pub fn init_tray_icon(appstate: Rc<AppS>) {
|
pub fn init_tray_icon(appstate: Rc<AppS>) {
|
||||||
/* tray_icon.connect_activate */
|
/* tray_icon.connect_activate */
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user