diff options
Diffstat (limited to 'src/player-controller.vala')
-rw-r--r-- | src/player-controller.vala | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/player-controller.vala b/src/player-controller.vala index 3fb4750..d7fd422 100644 --- a/src/player-controller.vala +++ b/src/player-controller.vala @@ -42,13 +42,16 @@ public class PlayerController : GLib.Object public ArrayList<PlayerItem> custom_items; public MprisController mpris_adaptor; public AppInfo? app_info { get; set;} + public int menu_offset { get; set;} - public PlayerController(Dbusmenu.Menuitem root, string client_name, state initial_state) + public PlayerController(Dbusmenu.Menuitem root, string client_name, int offset, state initial_state) { this.root_menu = root; this.name = format_client_name(client_name.strip()); this.custom_items = new ArrayList<PlayerItem>(); this.update_state(initial_state); + this.menu_offset = offset; + debug("offset = %i", offset); construct_widgets(); establish_mpris_connection(); update_layout(); @@ -89,13 +92,17 @@ public class PlayerController : GLib.Object debug("establish_mpris_connection - Not ready to connect"); return; } + if(this.name == "Vlc"){ - this.mpris_adaptor = new MprisControllerV2(this.name, this); + debug("establishing a vlc mpris controller"); + this.mpris_adaptor = new MprisController(this, "org.mpris.MediaPlayer.Player"); } else{ - this.mpris_adaptor = new MprisController(this.name, this); + this.mpris_adaptor = new MprisController(this); } + if(this.mpris_adaptor.connected() == true){ + debug("yup I'm connected"); this.update_state(state.CONNECTED); } else{ @@ -120,6 +127,10 @@ public class PlayerController : GLib.Object debug("about the set the visibility on both the transport and metadata widget to %s", visibility.to_string()); this.custom_items[TRANSPORT].property_set_bool(MENUITEM_PROP_VISIBLE, visibility); this.custom_items[METADATA].property_set_bool(MENUITEM_PROP_VISIBLE, visibility); + // DEBUG + if(this.mpris_adaptor == null){ + warning("Why is the mpris object null"); + } } @@ -140,9 +151,8 @@ public class PlayerController : GLib.Object TransportMenuitem transport_item = new TransportMenuitem(this); this.custom_items.add(transport_item); - int offset = 2; foreach(PlayerItem item in this.custom_items){ - root_menu.child_add_position(item, offset + this.custom_items.index_of(item)); + root_menu.child_add_position(item, this.menu_offset + this.custom_items.index_of(item)); } } |