Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TamTamJam.activity/Jam/JamMain.py144
-rw-r--r--TamTamJam.activity/MANIFEST80
-rw-r--r--TamTamMini.activity/Config.py6
-rwxr-xr-xTamTamSynthLab.activity/SynthLab/SynthLabConstants.py22
-rw-r--r--common/Config.py6
5 files changed, 128 insertions, 130 deletions
diff --git a/TamTamJam.activity/Jam/JamMain.py b/TamTamJam.activity/Jam/JamMain.py
index 414c759..b5a4211 100644
--- a/TamTamJam.activity/Jam/JamMain.py
+++ b/TamTamJam.activity/Jam/JamMain.py
@@ -15,7 +15,7 @@ import Jam.Picker as Picker
import common.Util.Block as Block
from Jam.Toolbars import JamToolbar, DesktopToolbar
-
+
from common.Util.CSoundNote import CSoundNote
from common.Util.CSoundClient import new_csound_client
import common.Util.InstrumentDB as InstrumentDB
@@ -38,7 +38,7 @@ from sugar.graphics.xocolor import XoColor
from math import sqrt
class JamMain(gtk.EventBox):
-
+
def __init__(self, activity):
gtk.EventBox.__init__(self)
@@ -52,7 +52,7 @@ class JamMain(gtk.EventBox):
self.beatDuration = 60.0/self.tempo
self.ticksPerSecond = Config.TICKS_PER_BEAT*self.tempo/60.0
self.volume = 0.5
-
+
self.csnd = new_csound_client()
for i in range(0,9):
self.csnd.setTrackVolume( 100, i )
@@ -63,7 +63,7 @@ class JamMain(gtk.EventBox):
presenceService = presenceservice.get_instance()
self.xoOwner = presenceService.get_owner()
-
+
#-- Drawing -------------------------------------------
def darken( colormap, hex ):
hexToDec = { "0":0, "1":1, "2":2, "3":3, "4":4, "5":5, "6":6, "7":7, "8":8, "9":9, "A":10, "B":11, "C":12, "D":13, "E":14, "F":15, "a":10, "b":11, "c":12, "d":13, "e":14, "f":15 }
@@ -86,17 +86,17 @@ class JamMain(gtk.EventBox):
win = gtk.gdk.get_default_root_window()
self.gc = gtk.gdk.GC( win )
colormap = gtk.gdk.colormap_get_system()
- self.colors = { "bg": colormap.alloc_color( Config.PANEL_BCK_COLOR ),
- "black": colormap.alloc_color( style.COLOR_BLACK.get_html() ),
- #"Picker_Bg": colormap.alloc_color( "#404040" ),
- #"Picker_Bg_Inactive": colormap.alloc_color( "#808080" ),
- "Picker_Bg": colormap.alloc_color( style.COLOR_TOOLBAR_GREY.get_html() ),
- "Picker_Bg_Inactive": colormap.alloc_color( style.COLOR_BUTTON_GREY.get_html() ),
- "Picker_Fg": colormap.alloc_color( style.COLOR_WHITE.get_html() ),
- "Border_Active": colormap.alloc_color( xoColor.get_stroke_color() ), #colormap.alloc_color( "#590000" ),
- "Border_Inactive": colormap.alloc_color( "#8D8D8D" ),
- "Border_Highlight": colormap.alloc_color( "#FFFFFF" ),
- "Bg_Active": colormap.alloc_color( xoColor.get_fill_color() ), #colormap.alloc_color( "#FFDDEA" ),
+ self.colors = { "bg": colormap.alloc_color( Config.PANEL_BCK_COLOR ),
+ "black": colormap.alloc_color( style.COLOR_BLACK.get_html() ),
+ #"Picker_Bg": colormap.alloc_color( "#404040" ),
+ #"Picker_Bg_Inactive": colormap.alloc_color( "#808080" ),
+ "Picker_Bg": colormap.alloc_color( style.COLOR_TOOLBAR_GREY.get_html() ),
+ "Picker_Bg_Inactive": colormap.alloc_color( style.COLOR_BUTTON_GREY.get_html() ),
+ "Picker_Fg": colormap.alloc_color( style.COLOR_WHITE.get_html() ),
+ "Border_Active": colormap.alloc_color( xoColor.get_stroke_color() ), #colormap.alloc_color( "#590000" ),
+ "Border_Inactive": colormap.alloc_color( "#8D8D8D" ),
+ "Border_Highlight": colormap.alloc_color( "#FFFFFF" ),
+ "Bg_Active": colormap.alloc_color( xoColor.get_fill_color() ), #colormap.alloc_color( "#FFDDEA" ),
"Bg_Inactive": colormap.alloc_color( "#DBDBDB" ),
"Preview_Note_Fill": colormap.alloc_color( Config.BG_COLOR ),
"Preview_Note_Border": colormap.alloc_color( Config.FG_COLOR ),
@@ -176,7 +176,7 @@ class JamMain(gtk.EventBox):
self.prepareInstrumentImage( inst.id, inst.img )
#-- Loop Images ---------------------------------------
- self.loopImage = {} # get filled in through updateLoopImage
+ self.loopImage = {} # get filled in through updateLoopImage
self.loopImageActive = {} #
#-- Key Images ----------------------------------------
@@ -203,7 +203,7 @@ class JamMain(gtk.EventBox):
#-- GUI -----------------------------------------------
if True: # GUI
self.modify_bg( gtk.STATE_NORMAL, self.colors["bg"] ) # window bg
-
+
self.GUI = {}
self.GUI["mainVBox"] = gtk.VBox()
self.add( self.GUI["mainVBox"] )
@@ -236,7 +236,7 @@ class JamMain(gtk.EventBox):
label.modify_fg( gtk.STATE_NORMAL, self.colors["Picker_Fg"] )
label.modify_fg( gtk.STATE_ACTIVE, self.colors["Picker_Fg"] )
return label
-
+
self.GUI["notebook"].append_page( self.pickers[Picker.Drum], prepareLabel("Drum Kits") )
self.GUI["notebook"].append_page( self.pickers[Picker.Loop], prepareLabel("Loops") )
@@ -274,7 +274,7 @@ class JamMain(gtk.EventBox):
path = Config.TAM_TAM_ROOT+"/common/Resources/Desktops/"
filelist = os.listdir( path )
for file in filelist:
- shutil.copyfile( path+file, Config.SCRATCH_DIR+file )
+ shutil.copyfile( path+file, Config.SCRATCH_DIR+file )
#-- Network -------------------------------------------
self.network = Net.Network()
@@ -313,28 +313,28 @@ class JamMain(gtk.EventBox):
#==========================================================
-
+
def onActivate( self, arg ):
pass
def onDeactivate( self ):
pass
- def onDestroy( self ):
- #clear up scratch folder
+ def onDestroy( self ):
+ #clear up scratch folder
path = Config.SCRATCH_DIR
filelist = os.listdir( path )
for file in filelist:
- os.remove( path+file )
+ os.remove( path+file )
#==========================================================
- # Playback
+ # Playback
def onKeyPress( self, widget, event ):
key = event.hardware_keycode
if key in self.keyMap.keys():
- activate = True
+ activate = True
for block in self.keyMap[key]:
if block.isActive():
activate = False
@@ -361,44 +361,44 @@ class JamMain(gtk.EventBox):
if inst.kit: # drum kit
if pitch in GenerationConstants.DRUMPITCH:
pitch = GenerationConstants.DRUMPITCH[pitch]
- csnote = self._playNote( key,
- 36,
+ csnote = self._playNote( key,
+ 36,
self.instrument["amplitude"]*0.5, # trackVol*noteVol
- self.instrument["pan"],
- 100,
+ self.instrument["pan"],
+ 100,
inst.kit[pitch].instrumentId,
- self.instrument["reverb"] )
+ self.instrument["reverb"] )
else:
if event.state == gtk.gdk.MOD1_MASK:
pitch += 5
-
+
if inst.csoundInstrumentId == Config.INST_PERC: #Percussions resonance
- duration = 60
+ duration = 60
else:
duration = -1
- csnote = self._playNote( key,
+ csnote = self._playNote( key,
pitch,
self.instrument["amplitude"]*0.5, # trackVol*noteVol
- self.instrument["pan"],
+ self.instrument["pan"],
duration,
- self.instrument["id"],
- self.instrument["reverb"] )
+ self.instrument["id"],
+ self.instrument["reverb"] )
if self.keyboardListener:
self.keyboardListener.recordNote( csnote.pitch )
self.recordingNote = True
-
+
def onKeyRelease( self, widget, event ):
key = event.hardware_keycode
- if self.key_dict.has_key( key ):
+ if self.key_dict.has_key( key ):
self._stopNote( key )
if self.recordingNote:
if self.keyboardListener:
self.keyboardListener.finishNote()
- self.recordingNote = False
+ self.recordingNote = False
def _playNote( self, key, pitch, amplitude, pan, duration, instrumentId, reverb ):
self.key_dict[key] = CSoundNote( 0, # onset
@@ -426,8 +426,8 @@ class JamMain(gtk.EventBox):
csnote.tied = False
self.csnd.play(csnote, 0.3)
del self.key_dict[key]
-
- def _updateInstrument( self, id, volume, pan = 0, reverb = 0 ):
+
+ def _updateInstrument( self, id, volume, pan = 0, reverb = 0 ):
self.instrument = { "id": id,
"amplitude": volume,
"pan": pan,
@@ -470,7 +470,7 @@ class JamMain(gtk.EventBox):
self.csnd.loopSetNumTicks( ticks, loopId )
self.drumFillin.setLoopId( loopId )
- self.drumFillin.setProperties( self.tempo, Config.INSTRUMENTSID[id].name, volume, beats, reverb )
+ self.drumFillin.setProperties( self.tempo, Config.INSTRUMENTSID[id].name, volume, beats, reverb )
self.drumFillin.unavailable( noteOnsets, notePitchs )
self.drumFillin.play()
@@ -493,7 +493,7 @@ class JamMain(gtk.EventBox):
startTick = (int(startTick)//Config.TICKS_PER_BEAT)*Config.TICKS_PER_BEAT + self.csnd.loopGetTick( self.heartbeatLoop )
else:
startTick = (-1 + int(startTick)//Config.TICKS_PER_BEAT)*Config.TICKS_PER_BEAT + self.csnd.loopGetTick( self.heartbeatLoop )
-
+
if startTick >= ticks:
startTick -= ticks
elif startTick < 0:
@@ -518,9 +518,9 @@ class JamMain(gtk.EventBox):
startTick = self.csnd.loopGetTick( loopId )
self.csnd.loopDestroy( loopId )
firstTime = False
-
+
loopId = self.csnd.loopCreate()
-
+
# TODO update track volume
inst = Config.INSTRUMENTSID[id]
@@ -542,7 +542,7 @@ class JamMain(gtk.EventBox):
self.csnd.loopSetNumTicks( offset, loopId )
-
+
# sync to heartbeat
if False: # firstTime: # always force first note to play rather than snaping to nearest beat.. good idea?
startTick = offset - Config.TICKS_PER_BEAT + self.csnd.loopGetTick( self.heartbeatLoop )
@@ -561,13 +561,13 @@ class JamMain(gtk.EventBox):
startTick = (int(startTick)//Config.TICKS_PER_BEAT)*Config.TICKS_PER_BEAT + self.csnd.loopGetTick( self.heartbeatLoop )
else:
startTick = (-1 + int(startTick)//Config.TICKS_PER_BEAT)*Config.TICKS_PER_BEAT + self.csnd.loopGetTick( self.heartbeatLoop )
-
+
if startTick >= offset:
startTick -= offset
elif startTick < 0:
startTick += offset
-
+
self.csnd.loopSetTick( startTick, loopId )
if not self.paused or force:
@@ -610,9 +610,9 @@ class JamMain(gtk.EventBox):
pageId = self.noteDB.addPage( -1, page )
else:
self.noteDB.deleteNotesByTrack( [ pageId ], [ 0 ] )
-
+
if len(notes):
- self.noteDB.addNotes( [ pageId, 0, len(notes) ] + notes + [-1] )
+ self.noteDB.addNotes( [ pageId, 0, len(notes) ] + notes + [-1] )
return pageId
@@ -628,8 +628,8 @@ class JamMain(gtk.EventBox):
beatsOfPages,
[ track ],
[ page ],
- dict,
- 4)
+ dict,
+ 4)
# filter & fix input ...WTF!?
for track in dict:
@@ -649,14 +649,14 @@ class JamMain(gtk.EventBox):
# delete the notes and add the new
self.noteDB.deleteNotesByTrack( [ page ], [ track ] )
- self.noteDB.addNotes(
+ self.noteDB.addNotes(
[ page, track, len(dict[track][page]) ]
+ dict[track][page]
+ [ -1 ] )
#==========================================================
- # Get/Set
+ # Get/Set
def getVolume( self ):
return self.volume
@@ -717,7 +717,7 @@ class JamMain(gtk.EventBox):
self._clearDesktop()
self.curDesktop = desktop
-
+
TTTable = ControlStream.TamTamTable( self.noteDB, jam = self )
filename = self.getDesktopScratchFile( self.curDesktop )
@@ -726,11 +726,11 @@ class JamMain(gtk.EventBox):
TTTable.parseFile( stream )
stream.close()
except IOError, (errno, strerror):
- if Config.DEBUG > 3: print "IOError:: _setDesktop:", errno, strerror
+ if Config.DEBUG > 3: print "IOError:: _setDesktop:", errno, strerror
def getInstrumentImage( self, id, active = False ):
if active: return self.instrumentImageActive[id]
- else: return self.instrumentImage[id]
+ else: return self.instrumentImage[id]
def getKeyImage( self, key, active = False ):
if active: return self.keyImageActive[key]
@@ -771,7 +771,7 @@ class JamMain(gtk.EventBox):
self.keyMap[key].append( block )
#==========================================================
- # Pixmaps
+ # Pixmaps
def prepareInstrumentImage( self, id, img_path ):
win = gtk.gdk.get_default_root_window()
@@ -792,14 +792,14 @@ class JamMain(gtk.EventBox):
img.draw_rectangle( self.gc, True, 0, 0, Block.Block.WIDTH, Block.Block.HEIGHT )
img.draw_pixbuf( self.gc, pix, 0, 0, x, y, pix.get_width(), pix.get_height(), gtk.gdk.RGB_DITHER_NONE )
self.instrumentImageActive[id] = img
-
+
def _drawNotes( self, pixmap, beats, notes, active ):
self.gc.set_clip_mask( self.sampleNoteMask )
for note in notes: # draw N notes
x = self.ticksToPixels( note.cs.onset )
endX = self.ticksToPixels( note.cs.onset + note.cs.duration ) - 3 # include end cap offset
width = endX - x
- if width < 5:
+ if width < 5:
width = 5
endX = x + width
y = self.pitchToPixels( note.cs.pitch )
@@ -815,7 +815,7 @@ class JamMain(gtk.EventBox):
pixmap.draw_rectangle( self.gc, True, x, y, width, self.sampleNoteHeight )
self.gc.set_clip_origin( endX-self.sampleNoteMask.endOffset, y )
pixmap.draw_rectangle( self.gc, True, endX, y, 3, self.sampleNoteHeight )
-
+
def prepareKeyImage( self, key ):
win = gtk.gdk.get_default_root_window()
pangolayout = self.create_pango_layout( _(self.valid_shortcuts[key]) )
@@ -868,15 +868,15 @@ class JamMain(gtk.EventBox):
return self.loopPitchOffset + int(round( ( Config.MAXIMUM_PITCH - pitch ) * self.pixelsPerPitch ))
#==========================================================
- # Load/Save
-
+ # Load/Save
+
def _saveDesktop( self ):
if self.curDesktop == None:
return
filename = self.getDesktopScratchFile( self.curDesktop )
if os.path.isfile( filename ):
- os.remove( filename )
+ os.remove( filename )
try:
scratch = open( filename, "w" )
@@ -887,7 +887,7 @@ class JamMain(gtk.EventBox):
scratch.close()
except IOError, (errno, strerror):
- if Config.DEBUG > 3: print "IOError:: _saveDesktop:", errno, strerror
+ if Config.DEBUG > 3: print "IOError:: _saveDesktop:", errno, strerror
def getDesktopScratchFile( self, i ):
return Config.SCRATCH_DIR+"desktop%d" % i
@@ -907,19 +907,19 @@ class JamMain(gtk.EventBox):
self.setTempo( TTTable.tempo )
except IOError, (errno, strerror):
- if Config.DEBUG > 3: print "IOError:: handleJournalLoad:", errno, strerror
+ if Config.DEBUG > 3: print "IOError:: handleJournalLoad:", errno, strerror
def handleJournalSave( self, filepath ):
-
+
self._saveDesktop()
try:
streamF = open( filepath, "w" )
stream = ControlStream.TamTamOStream( streamF )
-
+
for i in range(10):
desktop_file = self.getDesktopScratchFile( i )
- stream.desktop_store( desktop_file, i )
+ stream.desktop_store( desktop_file, i )
stream.desktop_set( self.curDesktop )
@@ -929,7 +929,7 @@ class JamMain(gtk.EventBox):
streamF.close()
except IOError, (errno, strerror):
- if Config.DEBUG > 3: print "IOError:: handleJournalSave:", errno, strerror
+ if Config.DEBUG > 3: print "IOError:: handleJournalSave:", errno, strerror
#==========================================================
# Network
@@ -945,7 +945,7 @@ class JamMain(gtk.EventBox):
self.syncTimeout = gobject.timeout_add( 1000, self.updateSync )
def joined( self, activity ):
- if Config.DEBUG:
+ if Config.DEBUG:
print "miniTamTam:: joined activity!!"
for buddy in self.activity._shared_activity.get_joined_buddies():
print buddy.props.ip4_address
@@ -1095,5 +1095,3 @@ class JamMain(gtk.EventBox):
#print "correct:: %f ticks, %f ticks in, %f expected, %f err, correct %f" % (curTick, curTicksIn, ticksIn, err, correct)
if abs(err) > 0.25:
self.csnd.adjustTick(-err)
-
-
diff --git a/TamTamJam.activity/MANIFEST b/TamTamJam.activity/MANIFEST
index 43ca61f..fed7653 100644
--- a/TamTamJam.activity/MANIFEST
+++ b/TamTamJam.activity/MANIFEST
@@ -116,46 +116,46 @@ common/Resources/Loops/loop12_1.ttl
common/Resources/Loops/loop12_2.ttl
common/Resources/Loops/loop12_3.ttl
common/Resources/Loops/loop12_4.ttl
-common/Resources/Loops/loop2_0.ttl
-common/Resources/Loops/loop2_1.ttl
-common/Resources/Loops/loop2_2.ttl
-common/Resources/Loops/loop2_3.ttl
-common/Resources/Loops/loop2_4.ttl
-common/Resources/Loops/loop3_0.ttl
-common/Resources/Loops/loop3_1.ttl
-common/Resources/Loops/loop3_2.ttl
-common/Resources/Loops/loop3_3.ttl
-common/Resources/Loops/loop3_4.ttl
-common/Resources/Loops/loop4_0.ttl
-common/Resources/Loops/loop4_1.ttl
-common/Resources/Loops/loop4_2.ttl
-common/Resources/Loops/loop4_3.ttl
-common/Resources/Loops/loop4_4.ttl
-common/Resources/Loops/loop5_0.ttl
-common/Resources/Loops/loop5_1.ttl
-common/Resources/Loops/loop5_2.ttl
-common/Resources/Loops/loop5_3.ttl
-common/Resources/Loops/loop5_4.ttl
-common/Resources/Loops/loop6_0.ttl
-common/Resources/Loops/loop6_1.ttl
-common/Resources/Loops/loop6_2.ttl
-common/Resources/Loops/loop6_3.ttl
-common/Resources/Loops/loop6_4.ttl
-common/Resources/Loops/loop7_0.ttl
-common/Resources/Loops/loop7_1.ttl
-common/Resources/Loops/loop7_2.ttl
-common/Resources/Loops/loop7_3.ttl
-common/Resources/Loops/loop7_4.ttl
-common/Resources/Loops/loop8_0.ttl
-common/Resources/Loops/loop8_1.ttl
-common/Resources/Loops/loop8_2.ttl
-common/Resources/Loops/loop8_3.ttl
-common/Resources/Loops/loop8_4.ttl
-common/Resources/Loops/loop9_0.ttl
-common/Resources/Loops/loop9_1.ttl
-common/Resources/Loops/loop9_2.ttl
-common/Resources/Loops/loop9_3.ttl
-common/Resources/Loops/loop9_4.ttl
+common/Resources/Loops/loop02_0.ttl
+common/Resources/Loops/loop02_1.ttl
+common/Resources/Loops/loop02_2.ttl
+common/Resources/Loops/loop02_3.ttl
+common/Resources/Loops/loop02_4.ttl
+common/Resources/Loops/loop03_0.ttl
+common/Resources/Loops/loop03_1.ttl
+common/Resources/Loops/loop03_2.ttl
+common/Resources/Loops/loop03_3.ttl
+common/Resources/Loops/loop03_4.ttl
+common/Resources/Loops/loop04_0.ttl
+common/Resources/Loops/loop04_1.ttl
+common/Resources/Loops/loop04_2.ttl
+common/Resources/Loops/loop04_3.ttl
+common/Resources/Loops/loop04_4.ttl
+common/Resources/Loops/loop05_0.ttl
+common/Resources/Loops/loop05_1.ttl
+common/Resources/Loops/loop05_2.ttl
+common/Resources/Loops/loop05_3.ttl
+common/Resources/Loops/loop05_4.ttl
+common/Resources/Loops/loop06_0.ttl
+common/Resources/Loops/loop06_1.ttl
+common/Resources/Loops/loop06_2.ttl
+common/Resources/Loops/loop06_3.ttl
+common/Resources/Loops/loop06_4.ttl
+common/Resources/Loops/loop07_0.ttl
+common/Resources/Loops/loop07_1.ttl
+common/Resources/Loops/loop07_2.ttl
+common/Resources/Loops/loop07_3.ttl
+common/Resources/Loops/loop07_4.ttl
+common/Resources/Loops/loop08_0.ttl
+common/Resources/Loops/loop08_1.ttl
+common/Resources/Loops/loop08_2.ttl
+common/Resources/Loops/loop08_3.ttl
+common/Resources/Loops/loop08_4.ttl
+common/Resources/Loops/loop09_0.ttl
+common/Resources/Loops/loop09_1.ttl
+common/Resources/Loops/loop09_2.ttl
+common/Resources/Loops/loop09_3.ttl
+common/Resources/Loops/loop09_4.ttl
common/Resources/SynthFiles/synthFile1
common/Resources/SynthFiles/synthFile2
common/Resources/SynthFiles/synthFile3
diff --git a/TamTamMini.activity/Config.py b/TamTamMini.activity/Config.py
index 1ddfd6e..e469af2 100644
--- a/TamTamMini.activity/Config.py
+++ b/TamTamMini.activity/Config.py
@@ -166,7 +166,7 @@ _addInstrument( "drum3rainstick", INST_SIMP, PUNCH, 'drum', 'drum', 0, 0, 0 )
_addInstrument( "drum3tambourinehigh", INST_SIMP, PUNCH, 'drum', 'drum', 0, 0, 0 )
_addInstrument( "drum3tambourinelow", INST_SIMP, PUNCH, 'drum', 'drum', 0, 0, 0 )
_addInstrument( "harmonica", INST_TIED, MID, 'melo', 'winds', .1531, .19188, .01792 )
-_addInstrument( "alarm", INST_TIED, MID, 'melo', 'concret', .02, .19133, .01 )
+_addInstrument( "alarm", INST_TIED, MID, 'melo', 'concret', 1.37555859375, 2.0286015625, .0675 )
_addInstrument( "bird", INST_TIED, MID, 'melo', 'animals', .1, 1, .05 )
_addInstrument( "cat", INST_SIMP, MID, 'melo', 'animals', 0, 0, 0 )
_addInstrument( "duck2", INST_SIMP, MID, 'melo', 'animals', 0, 0, 0 )
@@ -186,7 +186,7 @@ _addInstrument( "cling", INST_TIED, MID, 'melo', 'keyboard', .09096, .7878, .180
_addInstrument( "byke", INST_SIMP, MID, 'melo', 'concret', 0, 0, 0 )
_addInstrument( "door", INST_SIMP, MID, 'melo', 'concret', 0, 0, 0 )
_addInstrument( "basse", INST_TIED, MID, 'melo', 'strings', 0.50470875, 0.833315, 0.09375 )
-_addInstrument( "acguit", INST_TIED, MID, 'melo', 'strings', 0.5123225, 0.7491675, 0.08475 )
+_addInstrument( "acguit", INST_TIED, MID, 'melo', 'strings', 1.4037, 1.84235625, 0.2 )
_addInstrument( "diceinst", INST_SIMP, MID, 'melo', 'concret', 0, 0, 0 )
_addInstrument( "didjeridu", INST_TIED, LOW, 'melo', 'winds', .55669, 1.73704, .09178 )
_addInstrument( "harmonium", INST_TIED, MID, 'melo', 'keyboard', .04674, .41073, .18384 )
@@ -237,7 +237,7 @@ _addInstrument( "drum5agogoaigu", INST_SIMP, HIGH, 'drum', 'drum', 0, 0, 0 )
_addInstrument( "drum5bongograveouvert", INST_SIMP, HIGH, 'drum', 'drum', 0, 0, 0 )
_addInstrument( "camera", INST_SIMP, MID, 'melo', 'concret', 0, 0, 0 )
_addInstrument( "car", INST_TIED, MID, 'melo', 'concret', .67, 1.05761, .01 )
-#_addInstrument( "cello", INST_TIED, MID, 'melo', 'strings', .194, .7211, .017 )
+_addInstrument( "cello", INST_TIED, MID, 'melo', 'strings', 0.4761, 0.92244375, 0.19125 )
_addInstrument( "chimes", INST_TIED, MID, 'melo', 'percussions', .09, 2.97633, .01 )
_addInstrument( "crash", INST_SIMP, MID, 'melo', 'concret', 0, 0, 0 )
_addInstrument( "guit2", INST_TIED, MID, 'melo', 'strings', .33, 1.1583, .02 )
diff --git a/TamTamSynthLab.activity/SynthLab/SynthLabConstants.py b/TamTamSynthLab.activity/SynthLab/SynthLabConstants.py
index a16ffe3..5778375 100755
--- a/TamTamSynthLab.activity/SynthLab/SynthLabConstants.py
+++ b/TamTamSynthLab.activity/SynthLab/SynthLabConstants.py
@@ -180,7 +180,7 @@ class SynthLabConstants:
VCO_WAVEFORMS = [_('Sawtooth'), _('Square'), _('Triangle')]
FSLOPE = FSLOPE
GAIN = GAIN
- VCO_INFO = _('')
+ VCO_INFO = _('A voltage-controlled oscillator or VCO is an electronic oscillator designed to be controlled in oscillation frequency by a voltage input. What is used here is a digital simulation of this analog concept.')
VCO_PARA1 = _('')
VCO_PARA2 = _('')
VCO_PARA3 = _('')
@@ -191,7 +191,7 @@ class SynthLabConstants:
LFILTER = _('Lowpass Filter')
VIBRATO = _('Vibrato')
GAIN = GAIN
- PLUCK_INFO = _('')
+ PLUCK_INFO = _('An emulation of a method of playing musical instruments called Pizzicato. One plucks a stringed instrument with the finger to make a sound distinct from strumming or bowing.')
PLUCK_PARA1 = _('')
PLUCK_PARA2 = _('')
PLUCK_PARA3 = _('')
@@ -203,7 +203,7 @@ class SynthLabConstants:
FREQ = FREQ
BANDWITH = _('Bandwith')
GAIN = GAIN
- NOISE_INFO = _('')
+ NOISE_INFO = _('White noise is an audio signal with equal energy per cycle (hertz). Pink noise is flat in logarithmic space; it has equal power in bands that are proportionally wide. The gaussian curve is used to shape the signal in a bell-like manner placing the percieved energy of the signal within a more confined range.')
NOISE_PARA1 = _('')
NOISE_PARA2 = _('')
NOISE_PARA3 = _('')
@@ -215,7 +215,7 @@ class SynthLabConstants:
SAMPLE_NAMES = _('Sample name')
LFILTER = LFILTER
GAIN = GAIN
- SAMPLE_INFO = _('')
+ SAMPLE_INFO = _('In music, sampling is the act of taking a portion, or sample, of a sound recording and reusing it as an instrument or element of a new recording.')
SAMPLE_PARA1 = _('')
SAMPLE_PARA2 = _('')
SAMPLE_PARA3 = _('')
@@ -249,7 +249,7 @@ class SynthLabConstants:
SPREAD = _('Spread')
WAVE = _('Waveform')
GAIN = GAIN
- ADDSYNTH_INFO = _('')
+ ADDSYNTH_INFO = _('Additive synthesis is a technique of audio synthesis which creates musical timbre by combining numerous waveforms pitched to different harmonics, with a different amplitude envelope on each, along with inharmonic artefacts.')
ADDSYNTH_PARA1 = _('')
ADDSYNTH_PARA2 = _('')
ADDSYNTH_PARA3 = _('')
@@ -261,7 +261,7 @@ class SynthLabConstants:
LFILTER = LFILTER
FEEDBACK = _('Feedback')
GAIN = GAIN
- DELAY_INFO = _('')
+ DELAY_INFO = _('Delay is an audio effect which records an input signal and then plays it back after a period of time.')
DELAY_PARA1 = _('')
DELAY_PARA2 = _('')
DELAY_PARA3 = _('')
@@ -270,9 +270,9 @@ class SynthLabConstants:
DIST = _('Distortion')
FREQ = FREQ
RESON = _('Resonance')
- DISTL = _('Distotion Level')
+ DISTL = _('Distortion Level')
GAIN = GAIN
- DIST_INFO = _('')
+ DIST_INFO = _("Distortion is the deformation of a waveform when compared to it's shape at the input")
DIST_PARA1 = _('')
DIST_PARA2 = _('')
DIST_PARA3 = _('')
@@ -284,7 +284,7 @@ class SynthLabConstants:
FTYPE = _('Type')
FILTER_TYPES = [_('Lowpass'), _('Highpass'), _('Bandpass')]
GAIN = GAIN
- FILTER_INFO = _('')
+ FILTER_INFO = _('An audio filter is designed to pass some frequency regions through unattenuated while significantly attenuating others.')
FILTER_PARA1 = _('')
FILTER_PARA2 = _('')
FILTER_PARA3 = _('')
@@ -296,7 +296,7 @@ class SynthLabConstants:
WAVEFORM = WAVEFORM
LFO_WAVEFORMS = LFO_WAVEFORMS
GAIN = GAIN
- RINGMOD_INFO = _('')
+ RINGMOD_INFO = _('Ring modulation is an audio effect performed by multiplying two audio signals. It produces a signal rich in overtones, suitable for producing bell-like or otherwise metallic sounds.')
RINGMOD_PARA1 = _('')
RINGMOD_PARA2 = _('')
RINGMOD_PARA3 = _('')
@@ -307,7 +307,7 @@ class SynthLabConstants:
REVERBF = _('Lowpass Filter')
REVERBL = _('Reverb Level')
GAIN = GAIN
- REVERB_INFO = _('Reverberation is the persistence od sound in a particular space after the original sound is removed.')
+ REVERB_INFO = _('Reverberation is the persistence of sound in a particular space after the original sound is removed.')
REVERB_PARA1 = _('')
REVERB_PARA2 = _('')
REVERB_PARA3 = _('')
diff --git a/common/Config.py b/common/Config.py
index 62bd1f6..c2dcf94 100644
--- a/common/Config.py
+++ b/common/Config.py
@@ -167,7 +167,7 @@ _addInstrument( "drum3rainstick", INST_SIMP, PUNCH, 'drum', 'drum', 0, 0, 0 )
_addInstrument( "drum3tambourinehigh", INST_SIMP, PUNCH, 'drum', 'drum', 0, 0, 0 )
_addInstrument( "drum3tambourinelow", INST_SIMP, PUNCH, 'drum', 'drum', 0, 0, 0 )
_addInstrument( "harmonica", INST_TIED, MID, 'melo', 'winds', .1531, .19188, .01792 )
-_addInstrument( "alarm", INST_TIED, MID, 'melo', 'concret', .02, .19133, .01 )
+_addInstrument( "alarm", INST_TIED, MID, 'melo', 'concret', 1.37555859375, 2.0286015625, .0675 )
_addInstrument( "bird", INST_TIED, MID, 'melo', 'animals', .1, 1, .05 )
_addInstrument( "cat", INST_SIMP, MID, 'melo', 'animals', 0, 0, 0 )
_addInstrument( "duck2", INST_SIMP, MID, 'melo', 'animals', 0, 0, 0 )
@@ -187,7 +187,7 @@ _addInstrument( "cling", INST_TIED, MID, 'melo', 'keyboard', .09096, .7878, .180
_addInstrument( "byke", INST_SIMP, MID, 'melo', 'concret', 0, 0, 0 )
_addInstrument( "door", INST_SIMP, MID, 'melo', 'concret', 0, 0, 0 )
_addInstrument( "basse", INST_TIED, MID, 'melo', 'strings', 0.50470875, 0.833315, 0.09375 )
-_addInstrument( "acguit", INST_TIED, MID, 'melo', 'strings', 0.5123225, 0.7491675, 0.08475 )
+_addInstrument( "acguit", INST_TIED, MID, 'melo', 'strings', 1.4037, 1.84235625, 0.2 )
_addInstrument( "diceinst", INST_SIMP, MID, 'melo', 'concret', 0, 0, 0 )
_addInstrument( "didjeridu", INST_TIED, LOW, 'melo', 'winds', .55669, 1.73704, .09178 )
_addInstrument( "harmonium", INST_TIED, MID, 'melo', 'keyboard', .04674, .41073, .18384 )
@@ -238,7 +238,7 @@ _addInstrument( "drum5agogoaigu", INST_SIMP, HIGH, 'drum', 'drum', 0, 0, 0 )
_addInstrument( "drum5bongograveouvert", INST_SIMP, HIGH, 'drum', 'drum', 0, 0, 0 )
_addInstrument( "camera", INST_SIMP, MID, 'melo', 'concret', 0, 0, 0 )
_addInstrument( "car", INST_TIED, MID, 'melo', 'concret', .67, 1.05761, .01 )
-#_addInstrument( "cello", INST_TIED, MID, 'melo', 'strings', .194, .7211, .017 )
+_addInstrument( "cello", INST_TIED, MID, 'melo', 'strings', 0.4761, 0.92244375, 0.19125 )
_addInstrument( "chimes", INST_TIED, MID, 'melo', 'percussions', .09, 2.97633, .01 )
_addInstrument( "crash", INST_SIMP, MID, 'melo', 'concret', 0, 0, 0 )
_addInstrument( "guit2", INST_TIED, MID, 'melo', 'strings', .33, 1.1583, .02 )