@@ -1255,21 +1255,72 @@ function setupProgramBlocks(activity) {
12551255 [ 8 , "hidden" , 0 , 0 , [ 0 , null ] ]
12561256 ] ;
12571257 activity . blocks . loadNewBlocks ( newNote ) ;
1258- // eslint-disable-next-line no-console
1259- console . debug ( "BLOCKNUMBER " + blockNumber ) ;
12601258 return blockNumber ;
12611259 } else if ( name === _ ( "start" ) ) {
12621260 const newBlock = [ [ 0 , "start" , x , y , [ null , null , null ] ] ] ;
12631261 activity . blocks . loadNewBlocks ( newBlock ) ;
1264- // eslint-disable-next-line no-console
1265- console . debug ( "BLOCKNUMBER " + blockNumber ) ;
12661262 return blockNumber ;
12671263 } else if ( name === _ ( "silence" ) ) {
1268- // FIXME: others too
12691264 const newBlock = [ [ 0 , "rest2" , x , y , [ null , null ] ] ] ;
12701265 activity . blocks . loadNewBlocks ( newBlock ) ;
1271- // eslint-disable-next-line no-console
1272- console . debug ( "BLOCKNUMBER " + blockNumber ) ;
1266+ return blockNumber ;
1267+ } else if ( name === _ ( "tempo" ) ) {
1268+ let bpm , beat ;
1269+ switch ( blockArgs . length ) {
1270+ case 1 :
1271+ bpm = 90 ;
1272+ beat = 4 ;
1273+ break ;
1274+ case 2 :
1275+ bpm = blockArgs [ 1 ] ;
1276+ beat = 4 ;
1277+ break ;
1278+ default :
1279+ bpm = blockArgs [ 1 ] ;
1280+ beat = blockArgs [ 2 ] ;
1281+ break ;
1282+ }
1283+ const newTempo = [
1284+ [ 0 , "setbpm3" , x , y , [ null , 1 , 2 , 5 ] ] ,
1285+ [ 1 , [ "number" , { value : bpm } ] , 0 , 0 , [ 0 ] ] ,
1286+ [ 2 , "divide" , 0 , 0 , [ 0 , 3 , 4 ] ] ,
1287+ [ 3 , [ "number" , { value : 1 } ] , 0 , 0 , [ 2 ] ] ,
1288+ [ 4 , [ "number" , { value : beat } ] , 0 , 0 , [ 2 ] ] ,
1289+ [ 5 , "vspace" , 0 , 0 , [ 0 , null ] ]
1290+ ] ;
1291+ activity . blocks . loadNewBlocks ( newTempo ) ;
1292+ return blockNumber ;
1293+ } else if ( name === _ ( "volume" ) ) {
1294+ let synth , vol ;
1295+ switch ( blockArgs . length ) {
1296+ case 1 :
1297+ synth = "piano" ;
1298+ vol = 50 ;
1299+ break ;
1300+ case 2 :
1301+ synth = blockArgs [ 1 ] ;
1302+ vol = 50 ;
1303+ break ;
1304+ default :
1305+ synth = blockArgs [ 1 ] ;
1306+ vol = blockArgs [ 2 ] ;
1307+ break ;
1308+ }
1309+ const newVolume = [
1310+ [ 0 , "setsynthvolume" , x , y , [ null , 1 , 2 , null ] ] ,
1311+ [ 1 , [ "voicename" , { value : synth } ] , 0 , 0 , [ 0 ] ] ,
1312+ [ 2 , [ "number" , { value : vol } ] , 0 , 0 , [ 0 ] ]
1313+ ] ;
1314+ activity . blocks . loadNewBlocks ( newVolume ) ;
1315+ return blockNumber ;
1316+ } else if ( name === _ ( "instrument" ) ) {
1317+ let instr = blockArgs . length > 1 ? blockArgs [ 1 ] : "piano" ;
1318+ const newInstrument = [
1319+ [ 0 , "settimbre" , x , y , [ null , 1 , null , 2 ] ] ,
1320+ [ 1 , [ "voicename" , { value : instr } ] , 0 , 0 , [ 0 ] ] ,
1321+ [ 2 , "hidden" , 0 , 0 , [ 0 , null ] ]
1322+ ] ;
1323+ activity . blocks . loadNewBlocks ( newInstrument ) ;
12731324 return blockNumber ;
12741325 } else {
12751326 const obj = activity . blocks . palettes . getProtoNameAndPalette ( name ) ;
0 commit comments