示例#1
0
def initialize():
    # Register the settings widget
    AppSettings.register_settings_widget(MIDISettings)

    # Initialize the MIDI-event Handler
    InputMidiHandler(port_name=config['MIDI']['InputDevice'],
                     backend_name=config['MIDI']['Backend'])
    # Start the MIDI-event Handler
    InputMidiHandler().start()
示例#2
0
    def __init__(self):
        # Register the settings widget
        AppSettings.register_settings_widget(MIDISettings)

        bk_name = config['MIDI']['Backend']
        try:
            # Load the backend and set as current mido backend
            mido.set_backend(mido.Backend(bk_name, load=True))
        except Exception:
            raise RuntimeError('Backend loading failed: {0}'.format(bk_name))
示例#3
0
    def __init__(self):
        # Initialize GStreamer
        Gst.init(None)

        # Register GStreamer settings widgets
        AppSettings.register_settings_widget(GstSettings)
        # Add MediaCue settings widget to the CueLayout
        CueSettingsRegistry().add_item(GstMediaSettings, MediaCue)
        # Register the GstMedia cue builder
        register_factories()

        elements.load()
        settings.load()

        backend.set_backend(self)
示例#4
0
    def __init__(self):
        # Register the settings widget
        AppSettings.register_settings_widget(MIDISettings)

        port_name = config['MIDI']['InputDevice']
        backend_name = config['MIDI']['Backend']

        MIDIInputHandler(port_name=port_name, backend_name=backend_name)
        MIDIInputHandler().start()

        try:
            MIDIOutputProvider(port_name=port_name, backend_name=backend_name)
            MIDIOutputProvider().start()
        except Exception as e:
            MIDIInputHandler().stop()
            raise e
示例#5
0
    def __init__(self):
        super().__init__()
        self.__client = OlaTimecode()
        self.__cues = set()

        # Register a new Cue property to store settings
        Cue.register_property('timecode', Property(default={}))

        # Register cue-settings-page
        CueSettingsRegistry().add_item(TimecodeCueSettings, MediaCue)
        # Register pref-settings-page
        AppSettings.register_settings_widget(TimecodeSettings)

        # Watch cue-model changes
        Application().cue_model.item_added.connect(self.__cue_added)
        Application().cue_model.item_removed.connect(self.__cue_removed)
示例#6
0
    def __init__(self):
        """Startup GStreamer and GObject."""

        # Initialize GStreamer and GObject
        GObject.threads_init()
        Gst.init(None)

        # Register GStreamer settings widgets
        AppSettings.register_settings_widget(GstSettings)
        # Add MediaCue settings widget to the CueLayout
        CueSettingsRegistry().add_item(GstMediaSettings, MediaCue)
        # Register the GstMedia cue builder
        register_factories()

        elements.load()
        settings.load()
示例#7
0
    def __init__(self):
        self._mainWindow = MainWindow()
        self._app_conf = {}
        self._layout = None
        self._memento_model = None
        self._cue_model = CueModel()

        # Connect mainWindow actions
        self._mainWindow.new_session.connect(self.new_session_dialog)
        self._mainWindow.save_session.connect(self._save_to_file)
        self._mainWindow.open_session.connect(self._load_from_file)

        # Register general settings widget
        AppSettings.register_settings_widget(General)

        # Show the mainWindow maximized
        self._mainWindow.showMaximized()
示例#8
0
    def __init__(self):
        self._mainWindow = MainWindow()
        self._app_conf = {}
        self._layout = None
        self._memento_model = None
        self._cue_model = CueModel()

        # Connect mainWindow actions
        self._mainWindow.new_session.connect(self.new_session_dialog)
        self._mainWindow.save_session.connect(self._save_to_file)
        self._mainWindow.open_session.connect(self._load_from_file)

        # Register general settings widget
        AppSettings.register_settings_widget(AppGeneral)
        AppSettings.register_settings_widget(CueAppSettings)

        # Show the mainWindow maximized
        self._mainWindow.showMaximized()
示例#9
0
    def __init__(self):
        # Create the mainWindow
        self.mainWindow = MainWindow()
        # Create a layout 'reference' and set to None
        self.layout = None
        # Create an empty configuration
        self.app_conf = {}

        # Initialize modules
        failed = modules.init_modules()
        for err in failed:
            msg = 'Module "' + err[0] + '" loading failed'
            QDetailedMessageBox.dcritical('Module error', msg, str(err[1]))

        # Connect mainWindow actions
        self.mainWindow.new_session.connect(self._startup)
        self.mainWindow.save_session.connect(self._save_to_file)
        self.mainWindow.open_session.connect(self._load_from_file)

        # Register general settings widget
        AppSettings.register_settings_widget(General)

        # Show the mainWindow maximized
        self.mainWindow.showMaximized()
示例#10
0
from lisp.layouts.list_layout.control_buttons import ShowControlButtons
from lisp.layouts.list_layout.cue_list_model import CueListModel, \
    RunningCueModel
from lisp.layouts.list_layout.cue_list_view import CueListView
from lisp.layouts.list_layout.info_panel import InfoPanel
from lisp.layouts.list_layout.list_layout_settings import ListLayoutSettings
from lisp.layouts.list_layout.playing_list_widget import RunningCuesListWidget
from lisp.ui.mainwindow import MainWindow
from lisp.ui.settings.app_settings import AppSettings
from lisp.ui.settings.cue_settings import CueSettingsRegistry
from lisp.ui.settings.pages.cue_appearance import Appearance
from lisp.ui.settings.pages.cue_general import CueGeneralSettings
from lisp.ui.settings.pages.media_cue_settings import MediaCueSettings
from lisp.ui.ui_utils import translate

AppSettings.register_settings_widget(ListLayoutSettings)


class EndListBehavior(Enum):
    Stop = 'Stop'
    Restart = 'Restart'


class ListLayout(QWidget, CueLayout):
    NAME = 'List Layout'
    DESCRIPTION = QT_TRANSLATE_NOOP('LayoutDescription',
                                    'Organize the cues in a list')
    DETAILS = [
        QT_TRANSLATE_NOOP('LayoutDetails',
                          'SHIFT + Space or Double-Click to edit a cue'),
        QT_TRANSLATE_NOOP('LayoutDetails', 'CTRL + Left Click to select cues'),
示例#11
0
from lisp.layouts.list_layout.control_buttons import ControlButtons
from lisp.layouts.list_layout.cue_list_model import CueListModel, \
    PlayingMediaCueModel
from lisp.layouts.list_layout.cue_list_view import CueListView
from lisp.layouts.list_layout.info_panel import InfoPanel
from lisp.layouts.list_layout.list_layout_settings import ListLayoutSettings
from lisp.layouts.list_layout.playing_list_widget import PlayingListWidget
from lisp.ui.mainwindow import MainWindow
from lisp.ui.settings.app_settings import AppSettings
from lisp.ui.settings.cue_settings import CueSettingsRegistry
from lisp.ui.settings.pages.cue_appearance import Appearance
from lisp.ui.settings.pages.cue_general import CueGeneralSettings
from lisp.ui.settings.pages.media_cue_settings import MediaCueSettings
from lisp.utils.configuration import config

AppSettings.register_settings_widget(ListLayoutSettings)


class EndListBehavior(Enum):
    Stop = 'Stop'
    Restart = 'Restart'


class ListLayout(QWidget, CueLayout):
    NAME = 'List Layout'
    DESCRIPTION = '''
        This layout organize the cues in a list:
        <ul>
            <li>Side panel with playing media-cues;
            <li>Cues can be moved in the list;
            <li>Space to play, CTRL+Space to select, SHIFT+Space or Double-Click to edit;
示例#12
0
    def _show_preferences(self):
        prefUi = AppSettings(configuration.config_to_dict(), parent=self)
        prefUi.exec_()

        if prefUi.result() == QDialog.Accepted:
            configuration.update_config_from_dict(prefUi.get_configuraton())
示例#13
0
from lisp.cues.action_cue import ActionCue
from lisp.cues.cue import Cue
from lisp.cues.cue_factory import CueFactory
from lisp.cues.media_cue import MediaCue
from lisp.layouts.cart_layout.cuewidget import CueWidget
from lisp.layouts.cart_layout.gridwidget import GridWidget
from lisp.layouts.cart_layout.mediawidget import MediaCueWidget
from lisp.layouts.cart_layout.preferences import CartLayoutPreferences
from lisp.layouts.cue_layout import CueLayout
from lisp.ui.settings.app_settings import AppSettings
from lisp.ui.settings.sections.cue_appearance import Appearance
from lisp.ui.settings.sections.media_cue_general import MediaCueGeneral


AppSettings.register_settings_widget(CartLayoutPreferences)


class CartLayout(QTabWidget, CueLayout):

    NAME = 'Cart Layout'
    DESCRIPTION = '''
                    This layout organize the cues in multiple grids like a
                     cart player:
                    <ul>
                        <li>Unlimited pages;
                        <li>Cues are displayed as buttons;
                        <li>Cues can be moved in the grid;
                        <li>Cues can be moved from a page to another;
                    </ul> '''
示例#14
0
def terminate():
    # Stop the MIDI-event Handler
    InputMidiHandler().stop()
    # Unregister the settings widget
    AppSettings.unregister_settings_widget(MIDISettings)
示例#15
0
    def _show_preferences(self):
        prefUi = AppSettings(configuration.config_to_dict(), parent=self)
        prefUi.exec_()

        if prefUi.result() == QDialog.Accepted:
            configuration.update_config_from_dict(prefUi.get_configuraton())