void IExtensionService.Initialize()
        {
            Marshaller.Init();
            has_karaoke = Marshaller.CheckGstPlugin("audiokaraoke");
            Hyena.Log.Debug("[Karaoke] GstPlugin audiokaraoke" + (has_karaoke ? "" : " not") + " found");
            if (!has_karaoke)
            {
                Hyena.Log.Warning("[Karaoke] audiokaraoke is not available, please install gstreamer-good-plugins");
                return;
            }

            action_service = ServiceManager.Get <InterfaceActionService> ();
            actions        = new Gtk.ActionGroup("Karaoke");

            actions.Add(new Gtk.ActionEntry[] { new Gtk.ActionEntry("KaraokeAction", null,
                                                                    AddinManager.CurrentLocalizer.GetString("_Karaoke"), null, null, null),
                                                new Gtk.ActionEntry("KaraokeConfigureAction", Gtk.Stock.Properties,
                                                                    AddinManager.CurrentLocalizer.GetString("_Configure"), null,
                                                                    AddinManager.CurrentLocalizer.GetString("Configure the Karaoke extension"), OnConfigure) });

            Gdk.Pixbuf icon = new Gdk.Pixbuf(System.Reflection.Assembly.GetExecutingAssembly()
                                             .GetManifestResourceStream("microphone.png"));

            Gtk.IconSet     iconset     = new Gtk.IconSet(icon);
            Gtk.IconFactory iconfactory = new Gtk.IconFactory();
            iconfactory.Add("microphone", iconset);
            iconfactory.AddDefault();

            actions.Add(new Gtk.ToggleActionEntry[] { new Gtk.ToggleActionEntry("KaraokeEnableAction", "microphone",
                                                                                AddinManager.CurrentLocalizer.GetString("_Activate Karaoke mode"), null,
                                                                                AddinManager.CurrentLocalizer.GetString("Activate Karaoke mode"),
                                                                                OnActivateKaraoke, karaoke_enabled) });

            action_service.UIManager.InsertActionGroup(actions, 0);
            ui_menu_id   = action_service.UIManager.AddUiFromResource("KaraokeMenu.xml");
            ui_button_id = action_service.UIManager.AddUiFromResource("KaraokeButton.xml");
        }