Example #1
0
 def __init_gui(self, glade):
     Common.connect_signals(glade, self)
     self.__preferencesdialog = glade.get_widget("preferencesDialog")
     self.__filechooserbutton1 = glade.get_widget("filechooserbutton1")
     self.__filechooserbutton2 = glade.get_widget("filechooserbutton2")
     self.__fontbutton1 = glade.get_widget("fontbutton1")
     self.__checkbutton2 = glade.get_widget("checkbutton2")
Example #2
0
 def __init_gui(self, glade):
     Common.connect_signals(glade, self)
     # back, forward, remove event buttons will be hidden
     self.__alignment12 = glade.get_widget("alignment12")
     # groove description
     groove_window = glade.get_widget("grooveWindow")
     textview2 = glade.get_widget("textview2")
     self.__textbuffer2 = textview2.get_buffer()
     # text colors
     colormap = groove_window.get_colormap()
     color = colormap.alloc_color('red')
     self.__textbuffer2.create_tag('fg_red', foreground_gdk=color)
     color = colormap.alloc_color('brown')
     self.__textbuffer2.create_tag('fg_brown', foreground_gdk=color)
     color = colormap.alloc_color('black')
     self.__textbuffer2.create_tag('fg_black', foreground_gdk=color)
     self.__textbuffer2.create_tag("bold", weight=pango.WEIGHT_BOLD)
     self.__togglebutton1 = glade.get_widget("togglebutton1")
     # groove columns
     self.__treeview1 = glade.get_widget("treeview1")
     self.__treeview2 = glade.get_widget("treeview2")
     # grooves column
     tvcolumn = gtk.TreeViewColumn('Groove')
     self.__treeview1.append_column(tvcolumn)
     cell = gtk.CellRendererText()
     tvcolumn.pack_start(cell, True)
     tvcolumn.set_attributes(cell, text=0)
     # groove variation column
     self.__treeview2.set_model(None)
     tvcolumn = gtk.TreeViewColumn('Variation')
     self.__treeview2.append_column(tvcolumn)
     cell = gtk.CellRendererText()
     tvcolumn.pack_start(cell, True)
     tvcolumn.set_attributes(cell, text=0)
Example #3
0
 def __init_gui(self, glade):
     Common.connect_signals(glade, self)
     # back, forward, remove event buttons will be hidden
     self.__alignment12 = glade.get_widget("alignment12")
     # groove description
     groove_window = glade.get_widget("grooveWindow")
     textview2 = glade.get_widget("textview2")
     self.__textbuffer2 = textview2.get_buffer()
     # text colors      
     colormap = groove_window.get_colormap()
     color = colormap.alloc_color('red')
     self.__textbuffer2.create_tag('fg_red', foreground_gdk=color)
     color = colormap.alloc_color('brown');
     self.__textbuffer2.create_tag('fg_brown', foreground_gdk=color)
     color = colormap.alloc_color('black');
     self.__textbuffer2.create_tag('fg_black', foreground_gdk=color)
     self.__textbuffer2.create_tag("bold", weight=pango.WEIGHT_BOLD)
     self.__togglebutton1 = glade.get_widget("togglebutton1")
     # groove columns
     self.__treeview1 = glade.get_widget("treeview1")
     self.__treeview2 = glade.get_widget("treeview2")
     # grooves column
     tvcolumn = gtk.TreeViewColumn('Groove')
     self.__treeview1.append_column(tvcolumn)
     cell = gtk.CellRendererText()
     tvcolumn.pack_start(cell, True)
     tvcolumn.set_attributes(cell, text=0)
     # groove variation column
     self.__treeview2.set_model(None)
     tvcolumn = gtk.TreeViewColumn('Variation')
     self.__treeview2.append_column(tvcolumn)
     cell = gtk.CellRendererText()
     tvcolumn.pack_start(cell, True)
     tvcolumn.set_attributes(cell, text=0)
Example #4
0
 def __init_gui(self, glade, chord_names):
     Common.connect_signals(glade, self)
     self.__hbox6 = glade.get_widget("hbox6")
     self.__entries = [ glade.get_widget("entry1"),
                      glade.get_widget("entry2"),
                      glade.get_widget("entry3"),
                      glade.get_widget("entry4"),
                      glade.get_widget("entry5"),
                      glade.get_widget("entry6"),
                      glade.get_widget("entry7"),
                      glade.get_widget("entry8") ]
     # Initialize chord entry completion
     model = gtk.ListStore(str)
     for chord in chord_names:
         model.append([chord])
     for entry in self.__entries:
         completion = gtk.EntryCompletion()
         completion.set_model(model)
         completion.set_text_column(0)
         completion.set_match_func(self.__match_function)
         completion.connect("match-selected", self.__on_completion_match)
         entry.set_completion(completion)
     # hide redundant entries
     for entry in self.__entries[self.__song.get_data().get_beats_per_bar():]:
         entry.hide()
     # create a focus cycle
     focus_chain = []
     for entry in self.__entries[:self.__song.get_data().get_beats_per_bar()]:
         focus_chain.append(entry)
     focus_chain.append(self.__entries[0])
     self.__hbox6.set_focus_chain(focus_chain)
Example #5
0
 def __init_gui(self, glade):
     Common.connect_signals(glade, self)
     self.__preferencesdialog = glade.get_widget("preferencesDialog")
     self.__filechooserbutton1 = glade.get_widget("filechooserbutton1")
     self.__filechooserbutton2 = glade.get_widget("filechooserbutton2")
     self.__fontbutton1 = glade.get_widget("fontbutton1")
     self.__checkbutton2 = glade.get_widget("checkbutton2")
Example #6
0
 def __init_gui(self, glade):
     Common.connect_signals(glade, self)
     self.__area = glade.get_widget("drawingarea1")
     self.__colormap = self.__area.get_colormap()
     self.__drawing_area_width, self.__drawing_area_height = self.__area.get_size_request()
     self.__bar_width = self.__drawing_area_width / self.__song.get_data().get_beats_per_bar()
     self.__bar_chords_width = self.__bar_width * 9 / 10
     self.__bar_info_width = self.__bar_width - self.__bar_chords_width
     self.__area.show()
Example #7
0
 def __init_gui(self, glade):
     Common.connect_signals(glade, self)
     # RepeatEnd entry
     self.__combobox_entry = glade.get_widget("comboboxentry1")
     self.__entry = self.__combobox_entry.child
     combobox = self.__combobox_entry
     list_store = gtk.ListStore(str)
     combobox.set_model(list_store)
     for i in range(2, 6):
         combobox.append_text(str(i))
     combobox.set_active(0)
Example #8
0
 def __init_gui(self, glade):
     Common.connect_signals(glade, self)
     # RepeatEnd entry
     self.__combobox_entry = glade.get_widget("comboboxentry1")
     self.__entry = self.__combobox_entry.child
     combobox = self.__combobox_entry
     list_store = gtk.ListStore(str)
     combobox.set_model(list_store)
     for i in range(2, 6):
         combobox.append_text(str(i))
     combobox.set_active(0)
Example #9
0
    def __init_gui(self, glade):
        Common.connect_signals(glade, self)
        self.__main_window = glade.get_widget("mainWindow")
        groove_window = glade.get_widget("grooveWindow")
        tempo_window = glade.get_widget("tempoWindow")
        repeat_window = glade.get_widget("repeatWindow")
        repeat_end_window = glade.get_widget("repeatEndWindow")
        repeat_ending_window = glade.get_widget("repeatEndingWindow")
        self.__hbox8 = glade.get_widget("hbox8")
        self.__hbox7 = glade.get_widget("hbox7")
        # add event button
        self.__button17 = glade.get_widget("button17")
        # global groove and tempo buttons
        self.__togglebutton1 = glade.get_widget("togglebutton1")
        self.__togglebutton2 = glade.get_widget("togglebutton2")
        # global buttons
        self.__eventGroove = EventGroove(glade, self.__grooves)
        self.__eventTempo = EventTempo(glade)
        self.__triples.append([ self.__togglebutton1, groove_window, self.__eventGroove, None ])
        self.__triples.append([ self.__togglebutton2, tempo_window, self.__eventTempo, None ])
        # add event menu
        event_items = { Glob.A_GROOVE: "Groove change",
                      Glob.A_TEMPO: "Tempo change",
                      Glob.A_REPEAT: "Repeat",
                      Glob.A_REPEAT_ENDING: "RepeatEnding",
                      Glob.A_REPEAT_END: "RepeatEnd" }
        self.__addEventMenu = gtk.Menu()
        menu = self.__addEventMenu
        for key in Glob.EVENTS:
            item = gtk.MenuItem(event_items[key])
            item.connect_object("activate", self.__add_event, key)
            menu.append(item)
        menu.show_all()
        # for dynamic event creation
        self.__event_windows = { Glob.A_GROOVE: groove_window,
                              Glob.A_TEMPO: tempo_window,
                              Glob.A_REPEAT: repeat_window,
                              Glob.A_REPEAT_ENDING: repeat_ending_window,
                              Glob.A_REPEAT_END: repeat_end_window }

        self.__event_window_handlers = { Glob.A_GROOVE: self.__eventGroove, # reusing already existing object
                                      Glob.A_TEMPO: self.__eventTempo,
                                      Glob.A_REPEAT: EventRepeat(glade),
                                      Glob.A_REPEAT_ENDING: EventRepeatEnding(glade),
                                      Glob.A_REPEAT_END: EventRepeatEnd(glade) }
Example #10
0
 def __init__(self, glade):
     dialog = self.__about_dialog = glade.get_widget("aboutDialog")
     dialog.set_program_name(Glob.PACKAGE_TITLE)
     dialog.set_version(Glob.PACKAGE_VERSION)
     dialog.set_copyright(Glob.PACKAGE_COPYRIGHT + ', ' + Glob.PACKAGE_BUGREPORT)
     dialog.set_website(Glob.PACKAGE_URL)
     fname = Glob.LICENSE
     license_text = ''
     try:
         infile = file(fname, 'r')
         try:
             license_text = infile.read()
         finally:
             infile.close()
     except:
         logging.exception("Unable to read license file '" + fname + "'")
     dialog.set_license(license_text)
     Common.connect_signals(glade, self)
Example #11
0
 def __init__(self, glade):
     dialog = self.__about_dialog = glade.get_widget("aboutDialog")
     dialog.set_program_name(Glob.PACKAGE_TITLE)
     dialog.set_version(Glob.PACKAGE_VERSION)
     dialog.set_copyright(Glob.PACKAGE_COPYRIGHT + ', ' +
                          Glob.PACKAGE_BUGREPORT)
     dialog.set_website(Glob.PACKAGE_URL)
     fname = Glob.LICENSE
     license_text = ''
     try:
         infile = file(fname, 'r')
         try:
             license_text = infile.read()
         finally:
             infile.close()
     except:
         logging.exception("Unable to read license file '" + fname + "'")
     dialog.set_license(license_text)
     Common.connect_signals(glade, self)
Example #12
0
    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()
Example #13
0
    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()
Example #14
0
 def __init_gui(self, glade):
     Common.connect_signals(glade, self)
     # back, forward, remove event buttons will be hidden
     self.__alignment15 = glade.get_widget("alignment15")
     self.__togglebutton2 = glade.get_widget("togglebutton2")
     self.__spinbutton2 = glade.get_widget("spinbutton2")