Example #1
0
class Shortcut:
    def __init__(self, player):
        self.player = player

        self.callbacks = {
                'VolumeUp': self.volume_up,
                'VolumeDown': self.volume_down,
                'Mute':
                    lambda *args: player.toggle_mute_cb(),
                'Previous': lambda *args: player.load_prev_cb(),
                'Next': lambda *args: player.load_next_cb(),
                'Pause': lambda *args: player.play_pause_cb(),
                'Play': lambda *args: player.play_pause_cb(),
                'Stop': lambda *args: player.stop_player_cb(),
                'Launch': self.present_window,
                }

        if keybinder_imported:
            self.keybinder = KeybinderGtk()
            self.bind_keys()
            self.keybinder.start()
            
    def volume_up(self, *args):
        volume = self.player.volume.get_value() + 0.15
        if volume > 1:
            volume = 1
        self.player.set_volume_cb(volume)

    def volume_down(self, *args):
        volume = self.player.volume.get_value() - 0.15
        if volume < 0:
            volume = 0
        self.player.set_volume_cb(volume)

    def present_window(self, *args):
        GLib.idle_add(self.player.app.window.present)

    def bind_keys(self):
        if not keybinder_imported:
            return
        curr_mode = self.player.app.conf['shortcut-mode']
        if curr_mode == ShortcutMode.NONE:
            return
        if curr_mode == ShortcutMode.DEFAULT:
            shortcut_keys = self.player.app.conf['default-shortcut']
        elif curr_mode == ShortcutMode.CUSTOM:
            shortcut_keys = self.player.app.conf['custom-shortcut']
        for name, key in shortcut_keys.items():
            self.keybinder.register(key, self.callbacks[name])

    def rebind_keys(self):
        self.bind_keys()

    def quit(self):
        print('Shortcut.quit')
        if keybinder_imported:
            self.keybinder.stop()
Example #2
0
class Shortcut:
    def __init__(self, player):
        self.player = player

        self.callbacks = {
            'VolumeUp': self.volume_up,
            'VolumeDown': self.volume_down,
            'Mute': lambda *args: player.toggle_mute_cb(),
            'Previous': lambda *args: player.load_prev_cb(),
            'Next': lambda *args: player.load_next_cb(),
            'Pause': lambda *args: player.play_pause_cb(),
            'Play': lambda *args: player.play_pause_cb(),
            'Stop': lambda *args: player.stop_player_cb(),
            'Launch': self.present_window,
        }

        if keybinder_imported:
            self.keybinder = KeybinderGtk()
            self.bind_keys()
            self.keybinder.start()

    def volume_up(self, *args):
        volume = self.player.volume.get_value() + 0.15
        if volume > 1:
            volume = 1
        self.player.set_volume_cb(volume)

    def volume_down(self, *args):
        volume = self.player.volume.get_value() - 0.15
        if volume < 0:
            volume = 0
        self.player.set_volume_cb(volume)

    def present_window(self, *args):
        GLib.idle_add(self.player.app.window.present)

    def bind_keys(self):
        if not keybinder_imported:
            return
        curr_mode = self.player.app.conf['shortcut-mode']
        if curr_mode == ShortcutMode.NONE:
            return
        if curr_mode == ShortcutMode.DEFAULT:
            shortcut_keys = self.player.app.conf['default-shortcut']
        elif curr_mode == ShortcutMode.CUSTOM:
            shortcut_keys = self.player.app.conf['custom-shortcut']
        for name, key in shortcut_keys.items():
            self.keybinder.register(key, self.callbacks[name])

    def rebind_keys(self):
        self.bind_keys()

    def quit(self):
        if keybinder_imported:
            self.keybinder.stop()