Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Mini/Fillin.py28
-rw-r--r--Mini/InstrumentPanel.py64
-rw-r--r--Mini/KeyboardStandAlone.py6
-rw-r--r--Mini/MiniSequencer.py12
-rw-r--r--Mini/miniTamTamMain.py102
-rw-r--r--Mini/miniToolbars.py124
-rw-r--r--TamTamMini.py33
7 files changed, 178 insertions, 191 deletions
diff --git a/Mini/Fillin.py b/Mini/Fillin.py
index 162f8ef..26d4a93 100644
--- a/Mini/Fillin.py
+++ b/Mini/Fillin.py
@@ -1,7 +1,5 @@
-import pygtk
-pygtk.require( '2.0' )
-import gtk
-import gobject
+from gi.repository import GObject
+from gi.repository import Gtk
from RythmGenerator import *
from common.Util.CSoundClient import new_csound_client
@@ -29,10 +27,10 @@ class Fillin:
def setInstrument( self, instrument ):
self.instrument = instrument
-
+
def setBeats( self, nbeats ):
if self.playBackTimeout != None:
- gobject.source_remove( self.playBackTimeout )
+ GObject.source_remove( self.playBackTimeout )
self.nbeats = nbeats
self.clear()
@@ -41,27 +39,27 @@ class Fillin:
def setTempo( self, tempo ):
self.tempo = tempo
if self.playBackTimeout != None:
- gobject.source_remove( self.playBackTimeout )
+ GObject.source_remove( self.playBackTimeout )
self.play()
def setReverb( self, reverb ):
self.reverb = reverb
-
+
def setVolume( self, volume ):
self.volume = volume
def play( self ):
if self.playBackTimeout == None:
- self.playbackTimeout = gobject.timeout_add( int(60000/self.tempo/8), self.handleClock )
+ self.playbackTimeout = GObject.timeout_add( int(60000/self.tempo/8), self.handleClock )
self.handleClock()
def stop( self ):
if self.playBackTimeout != None:
- gobject.source_remove( self.playBackTimeout )
+ GObject.source_remove( self.playBackTimeout )
self.clear()
def clear( self ):
- if self.notesList:
+ if self.notesList:
for n in self.notesList:
self.csnd.loopDelete(n)
self.notesList = []
@@ -72,7 +70,7 @@ class Fillin:
if self.gate == 0:
self.gate = 1
self.barCount += 1
- self.barCount %= 4
+ self.barCount %= 4
if self.barCount == 1:
self.clear()
@@ -81,7 +79,7 @@ class Fillin:
self.gate = 0
if self.barCount == 3:
self.regenerate()
- return True
+ return True
def unavailable( self, onsets, pitchs ):
self.onsets = onsets
@@ -100,6 +98,6 @@ class Fillin:
x.amplitude = x.amplitude*self.volume
n = Note(0, x.trackId, i, x)
self.notesList.append(n)
- i += 1
+ i += 1
self.csnd.loopPlay(n,1) #add as active
-
+
diff --git a/Mini/InstrumentPanel.py b/Mini/InstrumentPanel.py
index 33b15ce..2f757e6 100644
--- a/Mini/InstrumentPanel.py
+++ b/Mini/InstrumentPanel.py
@@ -1,6 +1,4 @@
-import pygtk
-pygtk.require( '2.0' )
-import gtk
+from gi.repository import Gtk
import time
@@ -8,7 +6,7 @@ import common.Config as Config
from common.Util.ThemeWidgets import *
from common.Util import InstrumentDB
from common.port.scrolledbox import HScrolledBox
-import sugar.graphics.style as style
+import sugar3.graphics.style as style
import logging
@@ -17,9 +15,9 @@ INSTRUMENT_SIZE = Config.scale(114)
Tooltips = Config.Tooltips
-class InstrumentPanel( gtk.EventBox ):
+class InstrumentPanel( Gtk.EventBox ):
def __init__(self,setInstrument=None):
- gtk.EventBox.__init__(self)
+ Gtk.EventBox.__init__(self)
self._scrolled_window = None
@@ -68,13 +66,13 @@ class InstrumentPanel( gtk.EventBox ):
if Config.DEBUG > 4: print "InstrumentPanel load", self.loadStage
if self.loadStage[0] == 0:
- color = gtk.gdk.color_parse(Config.PANEL_BCK_COLOR)
- self.modify_bg(gtk.STATE_NORMAL, color)
+ color = Gdk.color_parse(Config.PANEL_BCK_COLOR)
+ self.modify_bg(Gtk.STATE_NORMAL, color)
self.loadStage[0] = 1
if timeout >= 0 and time.time() > timeout: return False
if self.loadStage[0] == 1:
- self.tooltips = gtk.Tooltips()
+ self.tooltips = Gtk.Tooltips()
self.loadStage[0] = 2
if timeout >= 0 and time.time() > timeout: return False
@@ -83,7 +81,7 @@ class InstrumentPanel( gtk.EventBox ):
self.recstate = False
self.lastInstrumentWidget = None
- self.mainVBox = gtk.VBox()
+ self.mainVBox = Gtk.VBox()
self.loadStage[0] = 3
if timeout >= 0 and time.time() > timeout: return False
@@ -166,11 +164,11 @@ class InstrumentPanel( gtk.EventBox ):
def loadToolbar( self, timeout = -1, loadStage = [0,0,0] ):
if loadStage[1] == 0:
- self.toolbarBox = gtk.HBox()
+ self.toolbarBox = Gtk.HBox()
- scrollbox = HScrolledBox(scroll_policy=gtk.POLICY_NEVER)
+ scrollbox = HScrolledBox(scroll_policy=Gtk.POLICY_NEVER)
scrollbox.set_viewport(self.toolbarBox)
- scrollbox.modify_bg(gtk.STATE_NORMAL, style.Color(Config.PANEL_BCK_COLOR).get_gdk_color())
+ scrollbox.modify_bg(Gtk.STATE_NORMAL, style.Color(Config.PANEL_BCK_COLOR).get_Gdk_color())
self.mainVBox.pack_start(scrollbox, False, False)
self.firstTbBtn = None
@@ -262,18 +260,18 @@ class InstrumentPanel( gtk.EventBox ):
return True
def loadInstrumentViewport( self ):
- self.instBox = gtk.Alignment(0.5, 0, 0, 1)
+ self.instBox = Gtk.Alignment(0.5, 0, 0, 1)
- box = gtk.EventBox()
- color = gtk.gdk.color_parse(Config.INSTRUMENT_GRID_COLOR)
- box.modify_bg(gtk.STATE_NORMAL, color)
+ box = Gtk.EventBox()
+ color = Gdk.color_parse(Config.INSTRUMENT_GRID_COLOR)
+ box.modify_bg(Gtk.STATE_NORMAL, color)
box.add(self.instBox)
- scrollwin = gtk.ScrolledWindow()
- scrollwin.set_policy(gtk.POLICY_NEVER,gtk.POLICY_AUTOMATIC)
+ scrollwin = Gtk.ScrolledWindow()
+ scrollwin.set_policy(Gtk.POLICY_NEVER,Gtk.POLICY_AUTOMATIC)
scrollwin.add_with_viewport(box)
- box.get_parent().set_shadow_type(gtk.SHADOW_NONE)
- self.mainVBox.pack_end(scrollwin)
+ box.get_parent().set_shadow_type(Gtk.SHADOW_NONE)
+ self.mainVBox.pack_end(scrollwin, True, True, 0)
self.show_all()
@@ -300,7 +298,7 @@ class InstrumentPanel( gtk.EventBox ):
if instrumentNum % cols is not 0: #S'il y a un reste
rows = rows + 1
- self.instTable = gtk.Table(rows,cols,True)
+ self.instTable = Gtk.Table(rows,cols,True)
self.instTable.set_row_spacings(0)
self.instTable.set_col_spacings(0)
@@ -311,7 +309,7 @@ class InstrumentPanel( gtk.EventBox ):
break
inst = instruments[i]
if self.instDic.has_key(inst):
- self.instTable.attach(self.instDic[inst], col, col+1, row, row+1, gtk.SHRINK, gtk.SHRINK, 0, 0)
+ self.instTable.attach(self.instDic[inst], col, col+1, row, row+1, Gtk.SHRINK, Gtk.SHRINK, 0, 0)
self.instBox.add(self.instTable)
self.instTable.show_all()
@@ -326,7 +324,7 @@ class InstrumentPanel( gtk.EventBox ):
def handleInstrumentButtonClick(self,widget,instrument):
if widget.get_active() is True and self.recstate == False:
if self.setInstrument:
- widget.event( gtk.gdk.Event( gtk.gdk.LEAVE_NOTIFY ) ) # fake the leave event
+ widget.event( Gdk.Event( Gdk.LEAVE_NOTIFY ) ) # fake the leave event
self.setInstrument(instrument)
time.sleep(0.05)
if self.playInstrument: self.playInstrument(instrument)
@@ -341,7 +339,7 @@ class InstrumentPanel( gtk.EventBox ):
if self._scrolled_window is None:
parent = widget.parent
while parent is not None:
- if isinstance(parent, gtk.ScrolledWindow):
+ if isinstance(parent, Gtk.ScrolledWindow):
self._scrolled_window = parent
break
parent = parent.parent
@@ -377,11 +375,11 @@ class InstrumentPanel( gtk.EventBox ):
btn.handler_unblock(btn.clickedHandler)
-class DrumPanel( gtk.EventBox ):
+class DrumPanel( Gtk.EventBox ):
def __init__(self, setDrum = None):
- gtk.EventBox.__init__(self)
- color = gtk.gdk.color_parse(Config.PANEL_BCK_COLOR)
- self.modify_bg(gtk.STATE_NORMAL, color)
+ Gtk.EventBox.__init__(self)
+ color = Gdk.color_parse(Config.PANEL_BCK_COLOR)
+ self.modify_bg(Gtk.STATE_NORMAL, color)
self.setDrum = setDrum
self.instrumentList = []
@@ -413,7 +411,7 @@ class DrumPanel( gtk.EventBox ):
def setDrums(self,widget,data):
if widget.get_active():
if self.setDrum:
- widget.event( gtk.gdk.Event( gtk.gdk.LEAVE_NOTIFY ) ) # fake the leave event
+ widget.event( Gdk.Event( Gdk.LEAVE_NOTIFY ) ) # fake the leave event
self.setDrum(data)
def set_activeInstrument( self, instrument, state ):
@@ -424,9 +422,9 @@ class DrumPanel( gtk.EventBox ):
btn.handler_unblock(btn.clickedHandler)
if __name__ == "__main__":
- win = gtk.Window()
+ win = Gtk.Window()
wc = DrumPanel(None)
win.add(wc)
win.show()
- #start the gtk event loop
- gtk.main()
+ #start the Gtk event loop
+ Gtk.main()
diff --git a/Mini/KeyboardStandAlone.py b/Mini/KeyboardStandAlone.py
index cc86a31..e03bd3b 100644
--- a/Mini/KeyboardStandAlone.py
+++ b/Mini/KeyboardStandAlone.py
@@ -1,6 +1,4 @@
-import pygtk
-pygtk.require( '2.0' )
-import gtk
+from gi.repository import Gtk
import common.Config as Config
from common.Generation.GenerationConstants import GenerationConstants
@@ -102,7 +100,7 @@ class KeyboardStandAlone:
playkey(36,100, self.instrumentDB.instNamed[instrumentName].kit[pitch])
else:
- if event.state == gtk.gdk.MOD1_MASK:
+ if event.get_state() == Gdk.MOD1_MASK:
pitch += 5
instrument = self.instrumentDB.instNamed[ instrumentName ]
diff --git a/Mini/MiniSequencer.py b/Mini/MiniSequencer.py
index 991ee13..6c825f9 100644
--- a/Mini/MiniSequencer.py
+++ b/Mini/MiniSequencer.py
@@ -1,7 +1,5 @@
-import pygtk
-pygtk.require( '2.0' )
-import gtk
-import gobject
+from gi.repository import Gtk
+from gi.repository import GObject
import time
import common.Config as Config
from common.Util.CSoundNote import CSoundNote
@@ -31,7 +29,7 @@ class MiniSequencer:
def setTempo( self, tempo ):
self.tempo = tempo
- gobject.source_remove( self.playBackTimeout )
+ GObject.source_remove( self.playBackTimeout )
self.playState = 0
def handleRecordButton( self, widget, data=None ):
@@ -63,13 +61,13 @@ class MiniSequencer:
def startPlayback( self ):
if not self.playState:
- self.playbackTimeout = gobject.timeout_add( int(60000/self.tempo/12), self.handleClock )
+ self.playbackTimeout = GObject.timeout_add( int(60000/self.tempo/12), self.handleClock )
self.handleClock()
self.playState = 1
def stopPlayback( self ):
if self.playbackTimeout != None:
- gobject.source_remove( self.playbackTimeout )
+ GObject.source_remove( self.playbackTimeout )
self.playbackTimeout = None
self.playState = 0
diff --git a/Mini/miniTamTamMain.py b/Mini/miniTamTamMain.py
index 77bc4e6..24fd338 100644
--- a/Mini/miniTamTamMain.py
+++ b/Mini/miniTamTamMain.py
@@ -1,14 +1,12 @@
-import pygtk
-pygtk.require( '2.0' )
-import gtk
-import gobject
+from gi.repository import Gtk
+from gi.repository import GObject
import os
import random
import time
import xdrlib
import commands
-import sugar.graphics.style as style
+import sugar3.graphics.style as style
from types import *
from math import sqrt
@@ -43,10 +41,10 @@ from gettext import gettext as _
Tooltips = Config.Tooltips
-class miniTamTamMain(gtk.EventBox):
+class miniTamTamMain(Gtk.EventBox):
def __init__(self, activity):
- gtk.EventBox.__init__(self)
+ Gtk.EventBox.__init__(self)
self.instrumentPanel = None
self.activity = activity
@@ -89,11 +87,11 @@ class miniTamTamMain(gtk.EventBox):
self.csnd.setMasterVolume(self.volume)
self.sequencer.beat = self.beat
self.loop.beat = self.beat
- self.tooltips = gtk.Tooltips()
+ self.tooltips = Gtk.Tooltips()
- self.mainWindowBox = gtk.HBox()
- self.leftBox = gtk.VBox()
- self.rightBox = gtk.VBox()
+ self.mainWindowBox = Gtk.HBox()
+ self.leftBox = Gtk.VBox()
+ self.rightBox = Gtk.VBox()
self.mainWindowBox.pack_start(self.rightBox, False, True)
self.mainWindowBox.pack_start(self.leftBox, True, True)
self.add(self.mainWindowBox)
@@ -131,15 +129,15 @@ class miniTamTamMain(gtk.EventBox):
#-- handle forced networking ---------------------------------------
if self.network.isHost():
self.updateSync()
- self.syncTimeout = gobject.timeout_add( 1000, self.updateSync )
+ self.syncTimeout = GObject.timeout_add( 1000, self.updateSync )
elif self.network.isPeer():
self.sendTempoQuery()
- self.syncTimeout = gobject.timeout_add( 1000, self.updateSync )
+ self.syncTimeout = GObject.timeout_add( 1000, self.updateSync )
#-------------------------------------------------------------------
# Toolbar
if Config.HAVE_TOOLBOX:
- from sugar.graphics.toolbarbox import ToolbarButton
+ from sugar3.graphics.toolbarbox import ToolbarButton
# no sharing
# self.max_participants = 1
@@ -198,10 +196,10 @@ class miniTamTamMain(gtk.EventBox):
slidersBox = RoundVBox(fillcolor = Config.PANEL_COLOR, bordercolor = Config.PANEL_BCK_COLOR, radius = Config.PANEL_RADIUS)
slidersBox.set_border_width(Config.PANEL_SPACING)
- geneSliderBox = gtk.VBox()
- self.geneSliderBoxImgTop = gtk.Image()
+ geneSliderBox = Gtk.VBox()
+ self.geneSliderBoxImgTop = Gtk.Image()
self.geneSliderBoxImgTop.set_from_file(imagefile('complex6.png'))
- self.geneAdjustment = gtk.Adjustment(value=self.regularity, lower=0, upper=1, step_incr=0.01, page_incr=0, page_size=0)
+ self.geneAdjustment = Gtk.Adjustment(value=self.regularity, lower=0, upper=1, step_incr=0.01, page_incr=0, page_size=0)
self.geneSlider = ImageVScale('sliderbutbleu.png',
self.geneAdjustment, 5)
self.geneSlider.set_inverted(False)
@@ -211,10 +209,10 @@ class miniTamTamMain(gtk.EventBox):
geneSliderBox.pack_start(self.geneSlider, True, 20)
self.tooltips.set_tip(self.geneSlider,Tooltips.COMPL)
- beatSliderBox = gtk.VBox()
- self.beatSliderBoxImgTop = gtk.Image()
+ beatSliderBox = Gtk.VBox()
+ self.beatSliderBoxImgTop = Gtk.Image()
self.beatSliderBoxImgTop.set_from_file(imagefile('beat3.png'))
- self.beatAdjustment = gtk.Adjustment(value=self.beat, lower=2,
+ self.beatAdjustment = Gtk.Adjustment(value=self.beat, lower=2,
upper=12, step_incr=1, page_incr=0, page_size=0)
self.beatSlider = ImageVScale('sliderbutjaune.png',
self.beatAdjustment, 5, snap=1)
@@ -228,10 +226,10 @@ class miniTamTamMain(gtk.EventBox):
self.delayedTempo = 0 # used to store tempo updates while the slider is active
self.tempoSliderActive = False
- tempoSliderBox = gtk.VBox()
- self.tempoSliderBoxImgTop = gtk.Image()
+ tempoSliderBox = Gtk.VBox()
+ self.tempoSliderBoxImgTop = Gtk.Image()
self.tempoSliderBoxImgTop.set_from_file(imagefile('tempo5.png'))
- self.tempoAdjustment = gtk.Adjustment(value=self.tempo, lower=Config.PLAYER_TEMPO_LOWER, upper=Config.PLAYER_TEMPO_UPPER, step_incr=1, page_incr=1, page_size=1)
+ self.tempoAdjustment = Gtk.Adjustment(value=self.tempo, lower=Config.PLAYER_TEMPO_LOWER, upper=Config.PLAYER_TEMPO_UPPER, step_incr=1, page_incr=1, page_size=1)
tempoSlider = ImageVScale('sliderbutvert.png', self.tempoAdjustment, 5)
tempoSlider.set_inverted(True)
self.tempoAdjustmentHandler = self.tempoAdjustment.connect("value_changed" , self.handleTempoSliderChange)
@@ -241,10 +239,10 @@ class miniTamTamMain(gtk.EventBox):
tempoSliderBox.pack_start(tempoSlider, True)
self.tooltips.set_tip(tempoSlider,Tooltips.TEMPO)
- volumeSliderBox = gtk.VBox()
- self.volumeSliderBoxImgTop = gtk.Image()
+ volumeSliderBox = Gtk.VBox()
+ self.volumeSliderBoxImgTop = Gtk.Image()
self.volumeSliderBoxImgTop.set_from_file(imagefile('volume2.png'))
- self.volumeAdjustment = gtk.Adjustment(value=self.volume, lower=0, upper=200, step_incr=1, page_incr=1, page_size=1)
+ self.volumeAdjustment = Gtk.Adjustment(value=self.volume, lower=0, upper=200, step_incr=1, page_incr=1, page_size=1)
volumeSlider = ImageVScale('sliderbutbleu.png',
self.volumeAdjustment, 5)
volumeSlider.set_inverted(True)
@@ -255,12 +253,12 @@ class miniTamTamMain(gtk.EventBox):
self.tooltips.set_tip(volumeSlider,Tooltips.VOL)
- slidersBoxSub = gtk.HBox()
- slidersBoxSub.pack_start(beatSliderBox)
- slidersBoxSub.pack_start(geneSliderBox)
- slidersBoxSub.pack_start(tempoSliderBox)
- slidersBoxSub.pack_start(volumeSliderBox)
- slidersBox.pack_start(slidersBoxSub)
+ slidersBoxSub = Gtk.HBox()
+ slidersBoxSub.pack_start(beatSliderBox, True, True, 0)
+ slidersBoxSub.pack_start(geneSliderBox, True, True, 0)
+ slidersBoxSub.pack_start(tempoSliderBox, True, True, 0)
+ slidersBoxSub.pack_start(volumeSliderBox, True, True, 0)
+ slidersBox.pack_start(slidersBoxSub, True, True, 0)
generateBtnSub = RoundHBox(
fillcolor=Config.PANEL_COLOR,
@@ -268,18 +266,18 @@ class miniTamTamMain(gtk.EventBox):
radius=Config.PANEL_RADIUS)
generateBtnSub.set_border_width(Config.PANEL_SPACING)
- #playImg = gtk.Image()
- #playImg.set_from_icon_name('media-playback-start', gtk.ICON_SIZE_LARGE_TOOLBAR)
+ #playImg = Gtk.Image()
+ #playImg.set_from_icon_name('media-playback-start', Gtk.ICON_SIZE_LARGE_TOOLBAR)
self.playButton = ImageToggleButton('miniplay.png', 'stop.png')
- #self.playButton.set_relief(gtk.RELIEF_NONE)
+ #self.playButton.set_relief(Gtk.RELIEF_NONE)
#self.playButton.set_image(playImg)
self.playButton.connect('clicked',self.handlePlayButton)
- generateBtnSub.pack_start(self.playButton)
+ generateBtnSub.pack_start(self.playButton, True, True, 0)
#self.playButton.set_tooltip(_('Play / Stop'))
generateBtn = ImageButton('dice.png', clickImg_path='diceblur.png')
generateBtn.connect('button-press-event', self.handleGenerateBtn)
- generateBtnSub.pack_start(generateBtn)
+ generateBtnSub.pack_start(generateBtn, True, True, 0)
self.tooltips.set_tip(generateBtn,Tooltips.GEN)
# drums
@@ -289,15 +287,15 @@ class miniTamTamMain(gtk.EventBox):
bordercolor=Config.PANEL_BCK_COLOR,
radius=Config.PANEL_RADIUS)
- drum_scroll = VScrolledBox(scroll_policy=gtk.POLICY_NEVER)
+ drum_scroll = VScrolledBox(scroll_policy=Gtk.POLICY_NEVER)
drum_scroll.set_viewport(drum_box)
- drum_scroll.modify_bg(gtk.STATE_NORMAL,
- style.Color(Config.PANEL_BCK_COLOR).get_gdk_color())
+ drum_scroll.modify_bg(Gtk.STATE_NORMAL,
+ style.Color(Config.PANEL_BCK_COLOR).get_Gdk_color())
drum_i = 0
drum_group = None
for row in range(DRUMCOUNT/2 + DRUMCOUNT%2):
- row_box = gtk.HBox()
+ row_box = Gtk.HBox()
drum_box.pack_start(row_box, False)
for col in range(2):
@@ -310,7 +308,7 @@ class miniTamTamMain(gtk.EventBox):
altImg_path='drum%dkitselgen.png' % (drum_i +1))
drum.connect('clicked', self.handleGenerationDrumBtn,
'drum%dkit' % (drum_i+1))
- row_box.pack_start(drum)
+ row_box.pack_start(drum, True, True, 0)
drum_name = 'drum%dkit' % (drum_i + 1)
hint = self.instrumentDB.instNamed[drum_name].nameTooltip
@@ -322,7 +320,7 @@ class miniTamTamMain(gtk.EventBox):
self.rightBox.pack_start(slidersBox, False)
self.rightBox.pack_start(generateBtnSub, False)
- self.rightBox.pack_start(drum_scroll)
+ self.rightBox.pack_start(drum_scroll, True, True, 0)
drum_size = drum_group.get_size_request()
slidersBox.set_size_request(-1, int(drum_size[1] * 2.3))
@@ -349,9 +347,9 @@ class miniTamTamMain(gtk.EventBox):
def updateInstrumentPanel(self):
if self.instrumentPanel is None:
self.instrumentPanel = InstrumentPanel()
- self.leftBox.pack_start(self.instrumentPanel)
+ self.leftBox.pack_start(self.instrumentPanel, True, True, 0)
- width = gtk.gdk.screen_width() - self.rightBox.get_size_request()[0]
+ width = Gdk.screen_width() - self.rightBox.get_size_request()[0]
self.instrumentPanel.configure(self.setInstrument,
self.playInstrumentNote, False, self.micRec, width=width)
@@ -360,7 +358,7 @@ class miniTamTamMain(gtk.EventBox):
def micRec(self, widget, mic):
self.csnd.inputMessage("i5600 0 4")
OS.arecord(4, "crop.csd", mic)
- self.micTimeout = gobject.timeout_add(200, self.loadMicInstrument, mic)
+ self.micTimeout = GObject.timeout_add(200, self.loadMicInstrument, mic)
self.instrumentPanel.set_activeInstrument(mic,True)
self.setInstrument(mic)
@@ -576,7 +574,7 @@ class miniTamTamMain(gtk.EventBox):
def enableKeyboard( self ):
self.keyboardStandAlone = KeyboardStandAlone( self.sequencer.recording, self.sequencer.adjustDuration, self.csnd.loopGetTick, self.sequencer.getPlayState, self.loop )
- self.add_events(gtk.gdk.BUTTON_PRESS_MASK)
+ self.add_events(Gdk.BUTTON_PRESS_MASK)
def setInstrument( self , instrument ):
self.instrument = instrument
@@ -673,7 +671,7 @@ class miniTamTamMain(gtk.EventBox):
self.activity._shared_activity.connect( "buddy-left", self.buddy_left )
self.network.setMode( Net.MD_HOST )
self.updateSync()
- self.syncTimeout = gobject.timeout_add( 1000, self.updateSync )
+ self.syncTimeout = GObject.timeout_add( 1000, self.updateSync )
def joined( self, activity ):
print "miniTamTam:: joined activity!!"
@@ -727,12 +725,12 @@ class miniTamTamMain(gtk.EventBox):
def networkStatusWatcher( self, mode ):
if mode == Net.MD_OFFLINE:
if self.syncTimeout:
- gobject.source_remove( self.syncTimeout )
+ GObject.source_remove( self.syncTimeout )
self.syncTimeout = None
if mode == Net.MD_PEER:
self.updateSync()
if not self.syncTimeout:
- self.syncTimeout = gobject.timeout_add( 1000, self.updateSync )
+ self.syncTimeout = GObject.timeout_add( 1000, self.updateSync )
self.sendTempoQuery()
def processHT_SYNC_REPLY( self, sock, message, data ):
@@ -828,5 +826,5 @@ class miniTamTamMain(gtk.EventBox):
if __name__ == "__main__":
MiniTamTam = miniTamTam()
- #start the gtk event loop
- gtk.main()
+ #start the Gtk event loop
+ Gtk.main()
diff --git a/Mini/miniToolbars.py b/Mini/miniToolbars.py
index 16c4a4d..1c89006 100644
--- a/Mini/miniToolbars.py
+++ b/Mini/miniToolbars.py
@@ -1,45 +1,45 @@
-import gtk
-import gobject
+from gi.repository import Gtk
+from gi.repository import GObject
import os, commands
import common.Config as Config
from common.Util.ThemeWidgets import *
from common.Util import OS
-from sugar.graphics.toolbutton import ToolButton
-from sugar.graphics.toggletoolbutton import ToggleToolButton
-from sugar.graphics.palette import Palette
+from sugar3.graphics.toolbutton import ToolButton
+from sugar3.graphics.toggletoolbutton import ToggleToolButton
+from sugar3.graphics.palette import Palette
from gettext import gettext as _
-class playToolbar(gtk.Toolbar):
+class playToolbar(Gtk.Toolbar):
def __init__(self, miniTamTam):
- gtk.Toolbar.__init__(self)
+ Gtk.Toolbar.__init__(self)
def _insertSeparator(x = 1):
for i in range(x):
- self.separator = gtk.SeparatorToolItem()
+ self.separator = Gtk.SeparatorToolItem()
self.separator.set_draw(True)
self.insert(self.separator,-1)
self.separator.show()
self.miniTamTam = miniTamTam
- self.tooltips = gtk.Tooltips()
+ self.tooltips = Gtk.Tooltips()
- self.balanceSliderImgLeft = gtk.Image()
- self.balanceSliderImgRight = gtk.Image()
+ self.balanceSliderImgLeft = Gtk.Image()
+ self.balanceSliderImgRight = Gtk.Image()
self.balanceSliderImgLeft.set_from_file(imagefile('dru2.png'))
self.balanceSliderImgRight.set_from_file(imagefile('instr2.png'))
- self.balanceSliderImgLeftTool = gtk.ToolItem()
+ self.balanceSliderImgLeftTool = Gtk.ToolItem()
self.balanceSliderImgLeftTool.add(self.balanceSliderImgLeft)
- self.balanceSliderImgRightTool = gtk.ToolItem()
+ self.balanceSliderImgRightTool = Gtk.ToolItem()
self.balanceSliderImgRightTool.add(self.balanceSliderImgRight)
- self.balanceSliderAdj = gtk.Adjustment(value=50, lower=0, upper=100, step_incr=1, page_incr=0, page_size=0)
+ self.balanceSliderAdj = Gtk.Adjustment(value=50, lower=0, upper=100, step_incr=1, page_incr=0, page_size=0)
self.balanceSliderAdj.connect("value_changed" , self.miniTamTam.handleBalanceSlider)
- self.balanceSlider = gtk.HScale(adjustment = self.balanceSliderAdj)
+ self.balanceSlider = Gtk.HScale(adjustment = self.balanceSliderAdj)
self.balanceSlider.set_size_request(250,15)
self.balanceSlider.set_inverted(False)
self.balanceSlider.set_draw_value(False)
- self.balanceSliderTool = gtk.ToolItem()
+ self.balanceSliderTool = Gtk.ToolItem()
self.balanceSliderTool.add(self.balanceSlider)
self.insert(self.balanceSliderImgLeftTool, -1)
self.insert(self.balanceSliderTool, -1)
@@ -54,18 +54,18 @@ class playToolbar(gtk.Toolbar):
_insertSeparator(1)
- self.reverbSliderImgRight = gtk.Image()
+ self.reverbSliderImgRight = Gtk.Image()
self.reverbSliderImgRight.set_from_file(imagefile('reverb0.png'))
- self.reverbSliderImgRightTool = gtk.ToolItem()
+ self.reverbSliderImgRightTool = Gtk.ToolItem()
self.reverbSliderImgRightTool.add(self.reverbSliderImgRight)
- self.reverbSliderAdj = gtk.Adjustment(value=0.1, lower=0, upper=1, step_incr=0.1, page_incr=0, page_size=0)
+ self.reverbSliderAdj = Gtk.Adjustment(value=0.1, lower=0, upper=1, step_incr=0.1, page_incr=0, page_size=0)
self.reverbSliderAdj.connect("value_changed" , self.miniTamTam.handleReverbSlider)
- self.reverbSlider = gtk.HScale(adjustment = self.reverbSliderAdj)
+ self.reverbSlider = Gtk.HScale(adjustment = self.reverbSliderAdj)
self.reverbSlider.set_size_request(250,15)
self.reverbSlider.set_inverted(False)
self.reverbSlider.set_draw_value(False)
- self.reverbSliderTool = gtk.ToolItem()
+ self.reverbSliderTool = Gtk.ToolItem()
self.reverbSliderTool.add(self.reverbSlider)
self.insert(self.reverbSliderTool, -1)
self.insert(self.reverbSliderImgRightTool, -1)
@@ -78,13 +78,13 @@ class playToolbar(gtk.Toolbar):
self.show_all()
-class recordToolbar(gtk.Toolbar):
+class recordToolbar(Gtk.Toolbar):
def __init__(self, miniTamTam):
- gtk.Toolbar.__init__(self)
+ Gtk.Toolbar.__init__(self)
def _insertSeparator(x = 1):
for i in range(x):
- self.separator = gtk.SeparatorToolItem()
+ self.separator = Gtk.SeparatorToolItem()
self.separator.set_draw(True)
self.insert(self.separator,-1)
self.separator.show()
@@ -152,7 +152,7 @@ class LoopSettingsPalette( Palette ):
self.mini = mini
- self.tooltips = gtk.Tooltips()
+ self.tooltips = Gtk.Tooltips()
self.loopedSound = False
self.soundLength = 1.00
self.start = 0
@@ -162,14 +162,14 @@ class LoopSettingsPalette( Palette ):
self.register = 0
self.ok = True
- self.mainBox = gtk.VBox()
+ self.mainBox = Gtk.VBox()
- self.controlsBox = gtk.HBox()
+ self.controlsBox = Gtk.HBox()
self.GUI = {}
- self.soundBox = gtk.HBox()
- self.soundLabel = gtk.Label(_('Sound: '))
+ self.soundBox = Gtk.HBox()
+ self.soundLabel = Gtk.Label(_('Sound: '))
self.soundMenuBox = BigComboBox()
self.sounds = os.listdir(Config.DATA_DIR)
for sound in self.sounds:
@@ -180,16 +180,16 @@ class LoopSettingsPalette( Palette ):
self.mainBox.pack_start(self.soundBox, False, False, 10)
- nameBox = gtk.VBox()
- self.nameEntry = gtk.Entry()
- entrycolor = gtk.gdk.Color()
- self.nameEntry.modify_text(gtk.STATE_NORMAL, entrycolor)
+ nameBox = Gtk.VBox()
+ self.nameEntry = Gtk.Entry()
+ entrycolor = Gdk.Color()
+ self.nameEntry.modify_text(Gtk.STATE_NORMAL, entrycolor)
self.nameEntry.set_text("name_of_the_sound")
- nameBox.pack_start(self.nameEntry)
+ nameBox.pack_start(self.nameEntry, True, True, 0)
self.mainBox.pack_start(nameBox, False, False, 10)
- registerBox = gtk.HBox()
- self.registerBoxLabel = gtk.Label(_('Register: '))
+ registerBox = Gtk.HBox()
+ self.registerBoxLabel = Gtk.Label(_('Register: '))
self.registerMenuBox = BigComboBox()
self.registers = ['LOW', 'MID', 'HIGH', 'PUNCH']
for reg in self.registers:
@@ -199,70 +199,70 @@ class LoopSettingsPalette( Palette ):
registerBox.pack_end(self.registerMenuBox, False, False, padding=10)
self.mainBox.pack_start(registerBox, False, False, 10)
- loopedBox = gtk.HBox()
- loopedLabel = gtk.Label("Looped sound: ")
+ loopedBox = Gtk.HBox()
+ loopedLabel = Gtk.Label("Looped sound: ")
loopedToggle = ImageToggleButton('checkOff.png', 'checkOn.png')
loopedToggle.connect('button-press-event', self.handleLooped )
loopedBox.pack_start(loopedLabel, False, False, padding=10)
loopedBox.pack_end(loopedToggle, False, False, padding=10)
self.mainBox.pack_start(loopedBox, False, False, 10)
- startBox = gtk.VBox()
- self.startAdjust = gtk.Adjustment( 0.01, 0, 1., .001, .001, 0)
- self.GUI['startSlider'] = gtk.VScale( adjustment = self.startAdjust )
+ startBox = Gtk.VBox()
+ self.startAdjust = Gtk.Adjustment( 0.01, 0, 1., .001, .001, 0)
+ self.GUI['startSlider'] = Gtk.VScale( adjustment = self.startAdjust )
self.startAdjust.connect("value-changed", self.handleStart)
self.GUI['startSlider'].set_inverted(True)
self.GUI['startSlider'].set_size_request(50, 200)
self.GUI['startSlider'].set_digits(3)
self.handleStart( self.startAdjust )
startBox.pack_start(self.GUI['startSlider'], True, True, 5)
- self.controlsBox.pack_start(startBox)
+ self.controlsBox.pack_start(startBox, True, True, 0)
- endBox = gtk.VBox()
- self.endAdjust = gtk.Adjustment( 0.9, 0, 1, .001, .001, 0)
- self.GUI['endSlider'] = gtk.VScale( adjustment = self.endAdjust )
+ endBox = Gtk.VBox()
+ self.endAdjust = Gtk.Adjustment( 0.9, 0, 1, .001, .001, 0)
+ self.GUI['endSlider'] = Gtk.VScale( adjustment = self.endAdjust )
self.endAdjust.connect("value-changed", self.handleEnd)
self.GUI['endSlider'].set_inverted(True)
self.GUI['endSlider'].set_size_request(50, 200)
self.GUI['endSlider'].set_digits(3)
self.handleEnd( self.endAdjust )
endBox.pack_start(self.GUI['endSlider'], True, True, 5)
- self.controlsBox.pack_start(endBox)
+ self.controlsBox.pack_start(endBox, True, True, 0)
- durBox = gtk.VBox()
- self.durAdjust = gtk.Adjustment( 0.01, 0, 0.2, .001, .001, 0)
- self.GUI['durSlider'] = gtk.VScale( adjustment = self.durAdjust )
+ durBox = Gtk.VBox()
+ self.durAdjust = Gtk.Adjustment( 0.01, 0, 0.2, .001, .001, 0)
+ self.GUI['durSlider'] = Gtk.VScale( adjustment = self.durAdjust )
self.durAdjust.connect("value-changed", self.handleDur)
self.GUI['durSlider'].set_inverted(True)
self.GUI['durSlider'].set_size_request(50, 200)
self.GUI['durSlider'].set_digits(3)
self.handleDur( self.durAdjust )
durBox.pack_start(self.GUI['durSlider'], True, True, 5)
- self.controlsBox.pack_start(durBox)
+ self.controlsBox.pack_start(durBox, True, True, 0)
- volBox = gtk.VBox()
- self.volAdjust = gtk.Adjustment( 1, 0, 2, .01, .01, 0)
- self.GUI['volSlider'] = gtk.VScale( adjustment = self.volAdjust )
+ volBox = Gtk.VBox()
+ self.volAdjust = Gtk.Adjustment( 1, 0, 2, .01, .01, 0)
+ self.GUI['volSlider'] = Gtk.VScale( adjustment = self.volAdjust )
self.volAdjust.connect("value-changed", self.handleVol)
self.GUI['volSlider'].set_inverted(True)
self.GUI['volSlider'].set_size_request(50, 200)
self.GUI['volSlider'].set_digits(3)
self.handleVol( self.volAdjust )
volBox.pack_start(self.GUI['volSlider'], True, True, 5)
- self.controlsBox.pack_start(volBox)
+ self.controlsBox.pack_start(volBox, True, True, 0)
self.mainBox.pack_start(self.controlsBox, False, False, 10)
- previewBox = gtk.VBox()
+ previewBox = Gtk.VBox()
self.playStopButton = ImageToggleButton('miniplay.png', 'stop.png')
self.playStopButton.connect('button-press-event' , self.handlePlayButton)
- previewBox.pack_start(self.playStopButton)
+ previewBox.pack_start(self.playStopButton, True, True, 0)
self.mainBox.pack_start(previewBox, False, False, 10)
- checkBox = gtk.VBox()
+ checkBox = Gtk.VBox()
checkButton = ImageButton(Config.TAM_TAM_ROOT + '/icons/accept.svg')
checkButton.connect('clicked' , self.handleCheck)
- checkBox.pack_start(checkButton)
+ checkBox.pack_start(checkButton, True, True, 0)
self.mainBox.pack_start(checkBox, False, False, 10)
self.mainBox.show_all()
@@ -291,11 +291,11 @@ class LoopSettingsPalette( Palette ):
self.set_values(soundLength)
self.startAdjust.set_all( 0.01, 0, soundLength, .001, .001, 0)
self.endAdjust.set_all( soundLength-0.01, 0, soundLength, .001, .001, 0)
- self.timeoutLoad = gobject.timeout_add(2000, self.loopSettingsDelay)
+ self.timeoutLoad = GObject.timeout_add(2000, self.loopSettingsDelay)
def loopSettingsDelay(self):
self.mini.load_ls_instrument(self.sndname)
- gobject.source_remove( self.timeoutLoad )
+ GObject.source_remove( self.timeoutLoad )
def handleCheck(self, widget):
if self.nameEntry.get_text() != self.sndname:
@@ -370,7 +370,7 @@ class LoopSettingsPalette( Palette ):
if self.ok:
self.mini.loopSettingsPlayStop(widget.get_active(), self.loopedSound)
if self.loopedSound == False and widget.get_active() == False:
- self.timeoutStop = gobject.timeout_add(int(self.soundLength * 1000)+500, self.playButtonState)
+ self.timeoutStop = GObject.timeout_add(int(self.soundLength * 1000)+500, self.playButtonState)
def setButtonState(self):
self.ok = False
@@ -380,5 +380,5 @@ class LoopSettingsPalette( Palette ):
def playButtonState(self):
self.ok = False
self.playStopButton.set_active(False)
- gobject.source_remove(self.timeoutStop)
+ GObject.source_remove(self.timeoutStop)
self.ok = True
diff --git a/TamTamMini.py b/TamTamMini.py
index 201ce8f..dcc5b23 100644
--- a/TamTamMini.py
+++ b/TamTamMini.py
@@ -20,19 +20,16 @@
import locale
locale.setlocale(locale.LC_NUMERIC, 'C')
-import signal
-import time
-import sys
-import os
+import signal
+import time
+import sys
+import os
import shutil
-import pygtk
import logging
-pygtk.require('2.0')
-
-import gtk
+from gi.repository import Gtk
-import gobject
+from gi.repository import GObject
import time
import common.Util.Instruments
@@ -44,11 +41,11 @@ from Mini.miniTamTamMain import miniTamTamMain
from common.Util.Trackpad import Trackpad
from gettext import gettext as _
import commands
-from sugar.activity import activity
+from sugar3.activity import activity
if Config.HAVE_TOOLBOX:
- from sugar.graphics.toolbarbox import ToolbarBox
- from sugar.activity import widgets
+ from sugar3.graphics.toolbarbox import ToolbarBox
+ from sugar3.activity import widgets
class TamTamMini(activity.Activity):
@@ -60,8 +57,8 @@ class TamTamMini(activity.Activity):
activity.Activity.__init__(self, handle)
- color = gtk.gdk.color_parse(Config.WS_BCK_COLOR)
- self.modify_bg(gtk.STATE_NORMAL, color)
+ color = Gdk.color_parse(Config.WS_BCK_COLOR)
+ self.modify_bg(Gtk.STATE_NORMAL, color)
self.set_title('TamTam Mini')
self.set_resizable(False)
@@ -79,7 +76,7 @@ class TamTamMini(activity.Activity):
self.toolbox.toolbar.insert(widgets.TitleEntry(self), -1)
try:
- from sugar.activity.widgets import DescriptionItem
+ from sugar3.activity.widgets import DescriptionItem
except ImportError:
logging.debug('DescriptionItem button is not available,' +
'toolkit version < 0.96')
@@ -104,7 +101,7 @@ class TamTamMini(activity.Activity):
self.mini.instrumentPanel.grab_focus()
if Config.HAVE_TOOLBOX:
- separator = gtk.SeparatorToolItem()
+ separator = Gtk.SeparatorToolItem()
separator.props.draw = False
separator.set_expand(True)
self.toolbox.toolbar.insert(separator, -1)
@@ -127,7 +124,7 @@ class TamTamMini(activity.Activity):
csnd.connect(True)
def onDestroy(self, arg2):
- if Config.DEBUG:
+ if Config.DEBUG:
print 'DEBUG: TamTam::onDestroy()'
self.mini.onDestroy()
@@ -136,7 +133,7 @@ class TamTamMini(activity.Activity):
csnd.connect(False)
csnd.destroy()
- gtk.main_quit()
+ Gtk.main_quit()
# no more dir created by TamTam
def ensure_dir(self, dir, perms=0777, rw=os.R_OK | os.W_OK):