コード例 #1
0
ファイル: tracklist.py プロジェクト: supergilbert/midiseq
 def copy_track(self, menuitem):
     if self.path:
         tv_iter = self.tracklist.liststore.get_iter(self.path[0])
         tedit = self.tracklist.liststore.get_value(tv_iter, 0)
         new_track = self.tracklist.seq.copy_track(tedit.track)
         new_name = "%s_bis" % new_track.get_name()
         new_tedit = TrackEditor(new_track,
                                 self.tracklist)
         new_tedit.set_name(new_name)
         self.tracklist.liststore.append([new_tedit,
                                          new_track.get_info(),
                                          0,
                                          new_tedit.track.get_mute_state(),
                                          False])
         new_tedit.show_all()
コード例 #2
0
ファイル: tracklist.py プロジェクト: supergilbert/midiseq
    def __init__(self, seq, portlist):
        gtk.Frame.__init__(self, "Track list")
        self.seq = seq
        self.portlist = portlist
        self.liststore = gtk.ListStore(gobject.TYPE_PYOBJECT, str, int, bool, bool)
        for track in seq.gettracks():
            tedit = TrackEditor(track, self)
            tedit.unmap()
            self.liststore.append([tedit, tedit.track.get_info(), 0, track.get_mute_state(), False])
        self.treev = gtk.TreeView(self.liststore)
        self.treev.set_enable_search(False)
        self.menu = TrackListMenu(self)

        cell_rdrr = gtk.CellRendererToggle()
        # cell_rdrr.set_property('activatable', True)
        cell_rdrr.connect('toggled', self.set_trackrec_cb, self.liststore)
        tvcolumn = gtk.TreeViewColumn('R', cell_rdrr, active=4)
        tvcolumn.set_expand(False)
        tvcolumn.set_clickable(True)
        tvcolumn.connect('clicked', self.unset_trackrec_cb)
        self.treev.append_column(tvcolumn)
        self.rec_noteon_list = []

        cell_rdrr = gtk.CellRendererProgress()
        cell_rdrr.set_fixed_size(-1, cell_rdrr.get_size(self)[3] * 2)
        tvcolumn = gtk.TreeViewColumn('Track', cell_rdrr, text=1, value=2)
        tvcolumn.set_expand(True)
        self.track_col = tvcolumn
        self.treev.append_column(tvcolumn)
        self.treev.connect('button-press-event', self.tvbutton_press_event)
        self.treev.connect('row-activated', self.tvbutton_row_activated)

        cell_rdrr = gtk.CellRendererToggle()
        # cell_rdrr.set_property('activatable', True)
        cell_rdrr.connect('toggled', self.toggle_mute, self.liststore)
        tvcolumn = gtk.TreeViewColumn('M', cell_rdrr, active=3)
        tvcolumn.set_expand(False)
        tvcolumn.set_clickable(True)
        tvcolumn.connect('clicked', self.mute_all)
        self.treev.append_column(tvcolumn)

        self.treev.enable_model_drag_source(gtk.gdk.BUTTON1_MASK,
                                            [("MIDILOOPER_TRACK_LIST",
                                              gtk.TARGET_SAME_WIDGET,
                                              0)],
                                            gtk.gdk.ACTION_DEFAULT|gtk.gdk.ACTION_MOVE)
        self.treev.enable_model_drag_dest([("MIDILOOPER_TRACK_LIST",
                                            gtk.TARGET_SAME_WIDGET,
                                            0)],
                                          gtk.gdk.ACTION_DEFAULT)
        self.treev.connect("drag_data_get", self.drag_data_get_data)
        self.treev.connect("drag_data_received", self.drag_data_received_data)

        button_add = gtk.Button(stock=gtk.STOCK_ADD)
        # button_add.add(img_button_add)
        button_add.connect("clicked", self.button_add_track)

        vbox = gtk.VBox()
        vbox.pack_start(self.treev)
        hbox = gtk.HBox()
        hbox.pack_start(button_add)
        vbox.pack_start(hbox)

        self.add(vbox)

        def hide_tracklist(win, event):
            win.hide()
            return True
        self.connect('delete_event', hide_tracklist)
コード例 #3
0
ファイル: tracklist.py プロジェクト: supergilbert/midiseq
 def add_track(self, track_name):
     track = self.seq.newtrack(track_name);
     tedit = TrackEditor(track, self)
     self.liststore.append([tedit, tedit.track.get_info(), 0, tedit.track.get_mute_state(), False])
     tedit.show_all()