예제 #1
0
파일: gui.py 프로젝트: tabaer/linuxband
    def __init__(self):
        glade = gtk.glade.XML(Glob.GLADE)
        GuiLogger.initLogging(glade)
        Common.connect_signals(glade, self)

        self.__main_window = glade.get_widget("mainWindow")
        self.__spinbutton1 = glade.get_widget("spinbutton1")  # bar count
        self.__notebook2 = glade.get_widget("notebook2")
        self.__notebook3 = glade.get_widget("notebook3")

        # song name
        self.__entry9 = glade.get_widget("entry9")
        self.__entry9.modify_font(pango.FontDescription('10'))

        # global buttons
        self.__global_buttons = glade.get_widget("vbox10")

        # pause button
        self.__toolbutton3 = glade.get_widget("toolbutton3")

        # view menu toggle
        self.__menuitem5 = glade.get_widget("menuitem5")
        self.__menuitem7 = glade.get_widget("menuitem7")

        # hack to get event object when clicked on toolbutton
        toolbutton1 = glade.get_widget("toolbutton1")
        toolbutton1.get_children()[0].connect('button-press-event',
                                              self.playback_start)

        # save changes dialog
        self.__save_changes_dialog = glade.get_widget("saveChangesDialog")

        self.__config = Config()
        self.__config.load_config()
        grooves = Grooves(self.__config)
        grooves.load_grooves(True)

        self.__song = song = Song(MidiGenerator(self.__config))
        self.__chord_sheet = ChordSheet(glade, song, self, self.__config)
        self.__events_bar = EventsBar(glade, song, self, grooves)
        self.__chord_entries = ChordEntries(glade, song, self.__chord_sheet)
        self.__source_editor = SourceEditor(glade, song)
        self.__preferences = Preferences(glade, self, self.__config, grooves)

        AboutDialog(glade)
        SaveButtonStatus(glade, song)

        self.__init_recent_menu(glade)
        self.__init_filechooser_dialogs(glade)

        self.__main_window.show()

        gobject.threads_init()
        self.__midi_player = MidiPlayer(self)
        if (self.__config.get_jack_connect_startup()):
            self.__midi_player.startup()

        # loop check button, must be after the __midiPlayer.startup() call
        checkbutton1 = glade.get_widget("checkbutton1")
        checkbutton1.set_active(self.__config.get_loop())

        # jack transport check button, must be after the __midiPlayer.startup() call
        checkbutton3 = glade.get_widget("checkbutton3")
        checkbutton3.set_active(self.__config.get_jack_transport())

        # intro length, , must be after the __midiPlayer.startup() call
        spinbutton3 = glade.get_widget("spinbutton3")
        spinbutton3.set_value(self.__config.get_intro_length())

        self.__do_new_file()
        gtk.main()