How to use f3 method in differencify

Best JavaScript code snippet using differencify

swimming.ts

Source:swimming.ts

`1const d = (e) => { // duration short notation2 const [value, duration] = e.split('*');3 if (duration) {4 return { sequential: [value], duration: +duration };5 }6 return value;7}8const s = (str, duration = 1) => ({ sequential: str.split(' ').map(d), duration }); // sequential short notation9const p = (str, duration = 1) => ({ parallel: str.split(' ').map(d), duration }); // parallel short notation10const w = (str) => ['r', p(str), p(str)]; // waltz chord comping11const swimming = {12 name: 'Swimming',13 composer: 'Koji Kondo',14 duration: 51,15 parallel: [16 {17 description: 'melody',18 velocity: 1,19 sequential: [20 d('r*3'),21 ['A5', s('F5*2 C5'), s('D5*2 F5'), 'F5'],22 [s('C5*2 F5'), s('F5*2 C6'), 'A5', 'G5'],23 ['A5', s('F5*2 C5'), s('D5*2 F5'), 'F5'],24 [s('C5*2 F5'), ['Bb5', 'A5', 'G5'], d('F5*2')],25 ['A5', s('F5*2 C5'), s('D5*2 F5'), 'F5'],26 [s('C5*2 F5'), s('F5*2 C6'), 'A5', 'G5'],27 ['A5', s('F5*2 C5'), s('D5*2 F5'), 'F5'],28 [s('C5*2 F5'), ['Bb5', 'A5', 'G5'], d('F5*2')],29 ['A5', s('F5*2 C5'), 'A5', 'F5'],30 ['Ab5', s('F5*2 Ab5'), d('G5*2')],31 ['A5', s('F5*2 C5'), 'A5', 'F5'],32 ['Ab5', s('F5*2 C5'), d('C6*2')],33 ['A5', s('F5*2 C5'), s('D5*2 F5'), 'F5'],34 [s('C5*2 F5'), ['Bb5', 'A5', 'G5'], d('F5*2')]35 ]36 },37 {38 description: 'chords',39 velocity: 0.6,40 sequential: [41 [42 p('F4 Bb4 D5'),43 [p('D4 G4 Bb4', 2), p('Bb3 D4 F4')],44 [p('G3 C4 E4', 2), [p('Ab3 F4'), p('A3 Gb4')]],45 p('Bb3 E4 G4')46 ],47 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 Bb3 Db3')],48 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 B3 D3')],49 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 B3 D3')],50 [w('A3 C4 E4'), w('Ab3 C4 Eb4'), w('F3 Bb3 D3'), w('G3 C4 E4')],51 [w('F3 A3 C4'), w('F3 A3 C4'), w('F3 Bb3 D3'), w('F3 B3 D3')],52 [w('F3 Bb3 D4'), w('F3 Bb3 C4'), w('F3 A3 C4'), w('F3 A3 C4')],53 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 B3 D3')],54 [w('A3 C4 E4'), w('Ab3 C4 Eb4'), w('F3 Bb3 D3'), w('G3 C4 E4')],55 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 B3 D3')],56 [w('F3 Bb3 D4'), w('F3 Bb3 C4'), w('F3 A3 C4'), w('F3 A3 C4')],57 [w('Bb3 D3 F4'), w('Bb3 D3 F4'), w('A3 C4 F4'), w('A3 C4 F4')],58 [w('Ab3 B3 F4'), w('Ab3 B3 F4'), w('G3 Bb3 F4'), w('G3 Bb3 E4')],59 [w('Bb3 D3 F4'), w('Bb3 D3 F4'), w('A3 C4 F4'), w('A3 C4 F4')],60 [w('Ab3 B3 F4'), w('Ab3 B3 F4'), w('G3 Bb3 F4'), w('G3 Bb3 E4')],61 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 B3 D3')],62 [w('F3 Bb3 D4'), w('F3 Bb3 C4'), w('F3 A3 C4'), w('F3 A3 C4')]63 ]64 },65 {66 description: 'bass',67 sequential: [68 ['G3', 'G3', 'C3', 'E3'],69 ['F2', 'D2', 'G2', 'C2'],70 ['F2', 'D2', 'G2', 'C2'],71 ['F2', 'A2', 'Bb2', 'B2'],72 ['A2', 'Ab2', 'G2', 'C2'],73 ['F2', 'A2', 'Bb2', 'B2'],74 ['G2', 'C2', 'F2', 'F2'],75 ['F2', 'A2', 'Bb2', 'B2'],76 ['A2', 'Ab2', 'G2', 'C2'],77 ['F2', 'A2', 'Bb2', 'B2'],78 ['G2', 'C2', 'F2', 'F2'],79 ['Bb2', 'Bb2', 'A2', 'A2'],80 ['Ab2', 'Ab2', 'G2', ['C2', 'D2', 'E2']],81 ['Bb2', 'Bb2', 'A2', 'A2'],82 ['Ab2', 'Ab2', 'G2', ['C2', 'D2', 'E2']],83 ['F2', 'A2', 'Bb2', 'B2'],84 ['G2', 'C2', 'F2', 'F2']85 ]86 }87 ]88}89// console.log(digRhythm(swimming))90export default swimming91export const rendered = [92 ["r", 0, 9],93 ["A5", 9, 0.75],94 ["F5", 9.75, 0.5],95 ["C5", 10.25, 0.25],96 ["D5", 10.5, 0.5],97 ["F5", 11, 0.25],98 ["F5", 11.25, 0.75],99 ["C5", 12, 0.5],100 ["F5", 12.5, 0.25],101 ["F5", 12.75, 0.5],102 ["C6", 13.25, 0.25],103 ["A5", 13.5, 0.75],104 ["G5", 14.25, 0.75],105 ["A5", 15, 0.75],106 ["F5", 15.75, 0.5],107 ["C5", 16.25, 0.25],108 ["D5", 16.5, 0.5],109 ["F5", 17, 0.25],110 ["F5", 17.25, 0.75],111 ["C5", 18, 0.5],112 ["F5", 18.5, 0.25],113 ["Bb5", 18.75, 0.25],114 ["A5", 19, 0.25],115 ["G5", 19.25, 0.25],116 ["F5", 19.5, 1.5],117 ["A5", 21, 0.75],118 ["F5", 21.75, 0.5],119 ["C5", 22.25, 0.25],120 ["D5", 22.5, 0.5],121 ["F5", 23, 0.25],122 ["F5", 23.25, 0.75],123 ["C5", 24, 0.5],124 ["F5", 24.5, 0.25],125 ["F5", 24.75, 0.5],126 ["C6", 25.25, 0.25],127 ["A5", 25.5, 0.75],128 ["G5", 26.25, 0.75],129 ["A5", 27, 0.75],130 ["F5", 27.75, 0.5],131 ["C5", 28.25, 0.25],132 ["D5", 28.5, 0.5],133 ["F5", 29, 0.25],134 ["F5", 29.25, 0.75],135 ["C5", 30, 0.5],136 ["F5", 30.5, 0.25],137 ["Bb5", 30.75, 0.25],138 ["A5", 31, 0.25],139 ["G5", 31.25, 0.25],140 ["F5", 31.5, 1.5],141 ["A5", 33, 0.75],142 ["F5", 33.75, 0.5],143 ["C5", 34.25, 0.25],144 ["A5", 34.5, 0.75],145 ["F5", 35.25, 0.75],146 ["Ab5", 36, 0.75],147 ["F5", 36.75, 0.5],148 ["Ab5", 37.25, 0.25],149 ["G5", 37.5, 1.5],150 ["A5", 39, 0.75],151 ["F5", 39.75, 0.5],152 ["C5", 40.25, 0.25],153 ["A5", 40.5, 0.75],154 ["F5", 41.25, 0.75],155 ["Ab5", 42, 0.75],156 ["F5", 42.75, 0.5],157 ["C5", 43.25, 0.25],158 ["C6", 43.5, 1.5],159 ["A5", 45, 0.75],160 ["F5", 45.75, 0.5],161 ["C5", 46.25, 0.25],162 ["D5", 46.5, 0.5],163 ["F5", 47, 0.25],164 ["F5", 47.25, 0.75],165 ["C5", 48, 0.5],166 ["F5", 48.5, 0.25],167 ["Bb5", 48.75, 0.25],168 ["A5", 49, 0.25],169 ["G5", 49.25, 0.25],170 ["F5", 49.5, 1.5],171 ["F4", 0, 0.75],172 ["Bb4", 0, 0.75],173 ["D5", 0, 0.75],174 ["D4", 0.75, 0.5],175 ["G4", 0.75, 0.5],176 ["Bb4", 0.75, 0.5],177 ["Bb3", 1.25, 0.25],178 ["D4", 1.25, 0.25],179 ["F4", 1.25, 0.25],180 ["G3", 1.5, 0.5],181 ["C4", 1.5, 0.5],182 ["E4", 1.5, 0.5],183 ["Ab3", 2, 0.125],184 ["F4", 2, 0.125],185 ["A3", 2.125, 0.125],186 ["Gb4", 2.125, 0.125],187 ["Bb3", 2.25, 0.75],188 ["E4", 2.25, 0.75],189 ["G4", 2.25, 0.75],190 ["r", 3, 0.25],191 ["F3", 3.25, 0.25],192 ["A3", 3.25, 0.25],193 ["C3", 3.25, 0.25],194 ["F3", 3.5, 0.25],195 ["A3", 3.5, 0.25],196 ["C3", 3.5, 0.25],197 ["r", 3.75, 0.25],198 ["F3", 4, 0.25],199 ["A3", 4, 0.25],200 ["C3", 4, 0.25],201 ["F3", 4.25, 0.25],202 ["A3", 4.25, 0.25],203 ["C3", 4.25, 0.25],204 ["r", 4.5, 0.25],205 ["F3", 4.75, 0.25],206 ["Bb3", 4.75, 0.25],207 ["D3", 4.75, 0.25],208 ["F3", 5, 0.25],209 ["Bb3", 5, 0.25],210 ["D3", 5, 0.25],211 ["r", 5.25, 0.25],212 ["F3", 5.5, 0.25],213 ["Bb3", 5.5, 0.25],214 ["Db3", 5.5, 0.25],215 ["F3", 5.75, 0.25],216 ["Bb3", 5.75, 0.25],217 ["Db3", 5.75, 0.25],218 ["r", 6, 0.25],219 ["F3", 6.25, 0.25],220 ["A3", 6.25, 0.25],221 ["C3", 6.25, 0.25],222 ["F3", 6.5, 0.25],223 ["A3", 6.5, 0.25],224 ["C3", 6.5, 0.25],225 ["r", 6.75, 0.25],226 ["F3", 7, 0.25],227 ["A3", 7, 0.25],228 ["C3", 7, 0.25],229 ["F3", 7.25, 0.25],230 ["A3", 7.25, 0.25],231 ["C3", 7.25, 0.25],232 ["r", 7.5, 0.25],233 ["F3", 7.75, 0.25],234 ["Bb3", 7.75, 0.25],235 ["D3", 7.75, 0.25],236 ["F3", 8, 0.25],237 ["Bb3", 8, 0.25],238 ["D3", 8, 0.25],239 ["r", 8.25, 0.25],240 ["F3", 8.5, 0.25],241 ["B3", 8.5, 0.25],242 ["D3", 8.5, 0.25],243 ["F3", 8.75, 0.25],244 ["B3", 8.75, 0.25],245 ["D3", 8.75, 0.25],246 ["r", 9, 0.25],247 ["F3", 9.25, 0.25],248 ["A3", 9.25, 0.25],249 ["C3", 9.25, 0.25],250 ["F3", 9.5, 0.25],251 ["A3", 9.5, 0.25],252 ["C3", 9.5, 0.25],253 ["r", 9.75, 0.25],254 ["F3", 10, 0.25],255 ["A3", 10, 0.25],256 ["C3", 10, 0.25],257 ["F3", 10.25, 0.25],258 ["A3", 10.25, 0.25],259 ["C3", 10.25, 0.25],260 ["r", 10.5, 0.25],261 ["F3", 10.75, 0.25],262 ["Bb3", 10.75, 0.25],263 ["D3", 10.75, 0.25],264 ["F3", 11, 0.25],265 ["Bb3", 11, 0.25],266 ["D3", 11, 0.25],267 ["r", 11.25, 0.25],268 ["F3", 11.5, 0.25],269 ["B3", 11.5, 0.25],270 ["D3", 11.5, 0.25],271 ["F3", 11.75, 0.25],272 ["B3", 11.75, 0.25],273 ["D3", 11.75, 0.25],274 ["r", 12, 0.25],275 ["A3", 12.25, 0.25],276 ["C4", 12.25, 0.25],277 ["E4", 12.25, 0.25],278 ["A3", 12.5, 0.25],279 ["C4", 12.5, 0.25],280 ["E4", 12.5, 0.25],281 ["r", 12.75, 0.25],282 ["Ab3", 13, 0.25],283 ["C4", 13, 0.25],284 ["Eb4", 13, 0.25],285 ["Ab3", 13.25, 0.25],286 ["C4", 13.25, 0.25],287 ["Eb4", 13.25, 0.25],288 ["r", 13.5, 0.25],289 ["F3", 13.75, 0.25],290 ["Bb3", 13.75, 0.25],291 ["D3", 13.75, 0.25],292 ["F3", 14, 0.25],293 ["Bb3", 14, 0.25],294 ["D3", 14, 0.25],295 ["r", 14.25, 0.25],296 ["G3", 14.5, 0.25],297 ["C4", 14.5, 0.25],298 ["E4", 14.5, 0.25],299 ["G3", 14.75, 0.25],300 ["C4", 14.75, 0.25],301 ["E4", 14.75, 0.25],302 ["r", 15, 0.25],303 ["F3", 15.25, 0.25],304 ["A3", 15.25, 0.25],305 ["C4", 15.25, 0.25],306 ["F3", 15.5, 0.25],307 ["A3", 15.5, 0.25],308 ["C4", 15.5, 0.25],309 ["r", 15.75, 0.25],310 ["F3", 16, 0.25],311 ["A3", 16, 0.25],312 ["C4", 16, 0.25],313 ["F3", 16.25, 0.25],314 ["A3", 16.25, 0.25],315 ["C4", 16.25, 0.25],316 ["r", 16.5, 0.25],317 ["F3", 16.75, 0.25],318 ["Bb3", 16.75, 0.25],319 ["D3", 16.75, 0.25],320 ["F3", 17, 0.25],321 ["Bb3", 17, 0.25],322 ["D3", 17, 0.25],323 ["r", 17.25, 0.25],324 ["F3", 17.5, 0.25],325 ["B3", 17.5, 0.25],326 ["D3", 17.5, 0.25],327 ["F3", 17.75, 0.25],328 ["B3", 17.75, 0.25],329 ["D3", 17.75, 0.25],330 ["r", 18, 0.25],331 ["F3", 18.25, 0.25],332 ["Bb3", 18.25, 0.25],333 ["D4", 18.25, 0.25],334 ["F3", 18.5, 0.25],335 ["Bb3", 18.5, 0.25],336 ["D4", 18.5, 0.25],337 ["r", 18.75, 0.25],338 ["F3", 19, 0.25],339 ["Bb3", 19, 0.25],340 ["C4", 19, 0.25],341 ["F3", 19.25, 0.25],342 ["Bb3", 19.25, 0.25],343 ["C4", 19.25, 0.25],344 ["r", 19.5, 0.25],345 ["F3", 19.75, 0.25],346 ["A3", 19.75, 0.25],347 ["C4", 19.75, 0.25],348 ["F3", 20, 0.25],349 ["A3", 20, 0.25],350 ["C4", 20, 0.25],351 ["r", 20.25, 0.25],352 ["F3", 20.5, 0.25],353 ["A3", 20.5, 0.25],354 ["C4", 20.5, 0.25],355 ["F3", 20.75, 0.25],356 ["A3", 20.75, 0.25],357 ["C4", 20.75, 0.25],358 ["r", 21, 0.25],359 ["F3", 21.25, 0.25],360 ["A3", 21.25, 0.25],361 ["C3", 21.25, 0.25],362 ["F3", 21.5, 0.25],363 ["A3", 21.5, 0.25],364 ["C3", 21.5, 0.25],365 ["r", 21.75, 0.25],366 ["F3", 22, 0.25],367 ["A3", 22, 0.25],368 ["C3", 22, 0.25],369 ["F3", 22.25, 0.25],370 ["A3", 22.25, 0.25],371 ["C3", 22.25, 0.25],372 ["r", 22.5, 0.25],373 ["F3", 22.75, 0.25],374 ["Bb3", 22.75, 0.25],375 ["D3", 22.75, 0.25],376 ["F3", 23, 0.25],377 ["Bb3", 23, 0.25],378 ["D3", 23, 0.25],379 ["r", 23.25, 0.25],380 ["F3", 23.5, 0.25],381 ["B3", 23.5, 0.25],382 ["D3", 23.5, 0.25],383 ["F3", 23.75, 0.25],384 ["B3", 23.75, 0.25],385 ["D3", 23.75, 0.25],386 ["r", 24, 0.25],387 ["A3", 24.25, 0.25],388 ["C4", 24.25, 0.25],389 ["E4", 24.25, 0.25],390 ["A3", 24.5, 0.25],391 ["C4", 24.5, 0.25],392 ["E4", 24.5, 0.25],393 ["r", 24.75, 0.25],394 ["Ab3", 25, 0.25],395 ["C4", 25, 0.25],396 ["Eb4", 25, 0.25],397 ["Ab3", 25.25, 0.25],398 ["C4", 25.25, 0.25],399 ["Eb4", 25.25, 0.25],400 ["r", 25.5, 0.25],401 ["F3", 25.75, 0.25],402 ["Bb3", 25.75, 0.25],403 ["D3", 25.75, 0.25],404 ["F3", 26, 0.25],405 ["Bb3", 26, 0.25],406 ["D3", 26, 0.25],407 ["r", 26.25, 0.25],408 ["G3", 26.5, 0.25],409 ["C4", 26.5, 0.25],410 ["E4", 26.5, 0.25],411 ["G3", 26.75, 0.25],412 ["C4", 26.75, 0.25],413 ["E4", 26.75, 0.25],414 ["r", 27, 0.25],415 ["F3", 27.25, 0.25],416 ["A3", 27.25, 0.25],417 ["C3", 27.25, 0.25],418 ["F3", 27.5, 0.25],419 ["A3", 27.5, 0.25],420 ["C3", 27.5, 0.25],421 ["r", 27.75, 0.25],422 ["F3", 28, 0.25],423 ["A3", 28, 0.25],424 ["C3", 28, 0.25],425 ["F3", 28.25, 0.25],426 ["A3", 28.25, 0.25],427 ["C3", 28.25, 0.25],428 ["r", 28.5, 0.25],429 ["F3", 28.75, 0.25],430 ["Bb3", 28.75, 0.25],431 ["D3", 28.75, 0.25],432 ["F3", 29, 0.25],433 ["Bb3", 29, 0.25],434 ["D3", 29, 0.25],435 ["r", 29.25, 0.25],436 ["F3", 29.5, 0.25],437 ["B3", 29.5, 0.25],438 ["D3", 29.5, 0.25],439 ["F3", 29.75, 0.25],440 ["B3", 29.75, 0.25],441 ["D3", 29.75, 0.25],442 ["r", 30, 0.25],443 ["F3", 30.25, 0.25],444 ["Bb3", 30.25, 0.25],445 ["D4", 30.25, 0.25],446 ["F3", 30.5, 0.25],447 ["Bb3", 30.5, 0.25],448 ["D4", 30.5, 0.25],449 ["r", 30.75, 0.25],450 ["F3", 31, 0.25],451 ["Bb3", 31, 0.25],452 ["C4", 31, 0.25],453 ["F3", 31.25, 0.25],454 ["Bb3", 31.25, 0.25],455 ["C4", 31.25, 0.25],456 ["r", 31.5, 0.25],457 ["F3", 31.75, 0.25],458 ["A3", 31.75, 0.25],459 ["C4", 31.75, 0.25],460 ["F3", 32, 0.25],461 ["A3", 32, 0.25],462 ["C4", 32, 0.25],463 ["r", 32.25, 0.25],464 ["F3", 32.5, 0.25],465 ["A3", 32.5, 0.25],466 ["C4", 32.5, 0.25],467 ["F3", 32.75, 0.25],468 ["A3", 32.75, 0.25],469 ["C4", 32.75, 0.25],470 ["r", 33, 0.25],471 ["Bb3", 33.25, 0.25],472 ["D3", 33.25, 0.25],473 ["F4", 33.25, 0.25],474 ["Bb3", 33.5, 0.25],475 ["D3", 33.5, 0.25],476 ["F4", 33.5, 0.25],477 ["r", 33.75, 0.25],478 ["Bb3", 34, 0.25],479 ["D3", 34, 0.25],480 ["F4", 34, 0.25],481 ["Bb3", 34.25, 0.25],482 ["D3", 34.25, 0.25],483 ["F4", 34.25, 0.25],484 ["r", 34.5, 0.25],485 ["A3", 34.75, 0.25],486 ["C4", 34.75, 0.25],487 ["F4", 34.75, 0.25],488 ["A3", 35, 0.25],489 ["C4", 35, 0.25],490 ["F4", 35, 0.25],491 ["r", 35.25, 0.25],492 ["A3", 35.5, 0.25],493 ["C4", 35.5, 0.25],494 ["F4", 35.5, 0.25],495 ["A3", 35.75, 0.25],496 ["C4", 35.75, 0.25],497 ["F4", 35.75, 0.25],498 ["r", 36, 0.25],499 ["Ab3", 36.25, 0.25],500 ["B3", 36.25, 0.25],501 ["F4", 36.25, 0.25],502 ["Ab3", 36.5, 0.25],503 ["B3", 36.5, 0.25],504 ["F4", 36.5, 0.25],505 ["r", 36.75, 0.25],506 ["Ab3", 37, 0.25],507 ["B3", 37, 0.25],508 ["F4", 37, 0.25],509 ["Ab3", 37.25, 0.25],510 ["B3", 37.25, 0.25],511 ["F4", 37.25, 0.25],512 ["r", 37.5, 0.25],513 ["G3", 37.75, 0.25],514 ["Bb3", 37.75, 0.25],515 ["F4", 37.75, 0.25],516 ["G3", 38, 0.25],517 ["Bb3", 38, 0.25],518 ["F4", 38, 0.25],519 ["r", 38.25, 0.25],520 ["G3", 38.5, 0.25],521 ["Bb3", 38.5, 0.25],522 ["E4", 38.5, 0.25],523 ["G3", 38.75, 0.25],524 ["Bb3", 38.75, 0.25],525 ["E4", 38.75, 0.25],526 ["r", 39, 0.25],527 ["Bb3", 39.25, 0.25],528 ["D3", 39.25, 0.25],529 ["F4", 39.25, 0.25],530 ["Bb3", 39.5, 0.25],531 ["D3", 39.5, 0.25],532 ["F4", 39.5, 0.25],533 ["r", 39.75, 0.25],534 ["Bb3", 40, 0.25],535 ["D3", 40, 0.25],536 ["F4", 40, 0.25],537 ["Bb3", 40.25, 0.25],538 ["D3", 40.25, 0.25],539 ["F4", 40.25, 0.25],540 ["r", 40.5, 0.25],541 ["A3", 40.75, 0.25],542 ["C4", 40.75, 0.25],543 ["F4", 40.75, 0.25],544 ["A3", 41, 0.25],545 ["C4", 41, 0.25],546 ["F4", 41, 0.25],547 ["r", 41.25, 0.25],548 ["A3", 41.5, 0.25],549 ["C4", 41.5, 0.25],550 ["F4", 41.5, 0.25],551 ["A3", 41.75, 0.25],552 ["C4", 41.75, 0.25],553 ["F4", 41.75, 0.25],554 ["r", 42, 0.25],555 ["Ab3", 42.25, 0.25],556 ["B3", 42.25, 0.25],557 ["F4", 42.25, 0.25],558 ["Ab3", 42.5, 0.25],559 ["B3", 42.5, 0.25],560 ["F4", 42.5, 0.25],561 ["r", 42.75, 0.25],562 ["Ab3", 43, 0.25],563 ["B3", 43, 0.25],564 ["F4", 43, 0.25],565 ["Ab3", 43.25, 0.25],566 ["B3", 43.25, 0.25],567 ["F4", 43.25, 0.25],568 ["r", 43.5, 0.25],569 ["G3", 43.75, 0.25],570 ["Bb3", 43.75, 0.25],571 ["F4", 43.75, 0.25],572 ["G3", 44, 0.25],573 ["Bb3", 44, 0.25],574 ["F4", 44, 0.25],575 ["r", 44.25, 0.25],576 ["G3", 44.5, 0.25],577 ["Bb3", 44.5, 0.25],578 ["E4", 44.5, 0.25],579 ["G3", 44.75, 0.25],580 ["Bb3", 44.75, 0.25],581 ["E4", 44.75, 0.25],582 ["r", 45, 0.25],583 ["F3", 45.25, 0.25],584 ["A3", 45.25, 0.25],585 ["C3", 45.25, 0.25],586 ["F3", 45.5, 0.25],587 ["A3", 45.5, 0.25],588 ["C3", 45.5, 0.25],589 ["r", 45.75, 0.25],590 ["F3", 46, 0.25],591 ["A3", 46, 0.25],592 ["C3", 46, 0.25],593 ["F3", 46.25, 0.25],594 ["A3", 46.25, 0.25],595 ["C3", 46.25, 0.25],596 ["r", 46.5, 0.25],597 ["F3", 46.75, 0.25],598 ["Bb3", 46.75, 0.25],599 ["D3", 46.75, 0.25],600 ["F3", 47, 0.25],601 ["Bb3", 47, 0.25],602 ["D3", 47, 0.25],603 ["r", 47.25, 0.25],604 ["F3", 47.5, 0.25],605 ["B3", 47.5, 0.25],606 ["D3", 47.5, 0.25],607 ["F3", 47.75, 0.25],608 ["B3", 47.75, 0.25],609 ["D3", 47.75, 0.25],610 ["r", 48, 0.25],611 ["F3", 48.25, 0.25],612 ["Bb3", 48.25, 0.25],613 ["D4", 48.25, 0.25],614 ["F3", 48.5, 0.25],615 ["Bb3", 48.5, 0.25],616 ["D4", 48.5, 0.25],617 ["r", 48.75, 0.25],618 ["F3", 49, 0.25],619 ["Bb3", 49, 0.25],620 ["C4", 49, 0.25],621 ["F3", 49.25, 0.25],622 ["Bb3", 49.25, 0.25],623 ["C4", 49.25, 0.25],624 ["r", 49.5, 0.25],625 ["F3", 49.75, 0.25],626 ["A3", 49.75, 0.25],627 ["C4", 49.75, 0.25],628 ["F3", 50, 0.25],629 ["A3", 50, 0.25],630 ["C4", 50, 0.25],631 ["r", 50.25, 0.25],632 ["F3", 50.5, 0.25],633 ["A3", 50.5, 0.25],634 ["C4", 50.5, 0.25],635 ["F3", 50.75, 0.25],636 ["A3", 50.75, 0.25],637 ["C4", 50.75, 0.25],638 ["G3", 0, 0.75],639 ["G3", 0.75, 0.75],640 ["C3", 1.5, 0.75],641 ["E3", 2.25, 0.75],642 ["F2", 3, 0.75],643 ["D2", 3.75, 0.75],644 ["G2", 4.5, 0.75],645 ["C2", 5.25, 0.75],646 ["F2", 6, 0.75],647 ["D2", 6.75, 0.75],648 ["G2", 7.5, 0.75],649 ["C2", 8.25, 0.75],650 ["F2", 9, 0.75],651 ["A2", 9.75, 0.75],652 ["Bb2", 10.5, 0.75],653 ["B2", 11.25, 0.75],654 ["A2", 12, 0.75],655 ["Ab2", 12.75, 0.75],656 ["G2", 13.5, 0.75],657 ["C2", 14.25, 0.75],658 ["F2", 15, 0.75],659 ["A2", 15.75, 0.75],660 ["Bb2", 16.5, 0.75],661 ["B2", 17.25, 0.75],662 ["G2", 18, 0.75],663 ["C2", 18.75, 0.75],664 ["F2", 19.5, 0.75],665 ["F2", 20.25, 0.75],666 ["F2", 21, 0.75],667 ["A2", 21.75, 0.75],668 ["Bb2", 22.5, 0.75],669 ["B2", 23.25, 0.75],670 ["A2", 24, 0.75],671 ["Ab2", 24.75, 0.75],672 ["G2", 25.5, 0.75],673 ["C2", 26.25, 0.75],674 ["F2", 27, 0.75],675 ["A2", 27.75, 0.75],676 ["Bb2", 28.5, 0.75],677 ["B2", 29.25, 0.75],678 ["G2", 30, 0.75],679 ["C2", 30.75, 0.75],680 ["F2", 31.5, 0.75],681 ["F2", 32.25, 0.75],682 ["Bb2", 33, 0.75],683 ["Bb2", 33.75, 0.75],684 ["A2", 34.5, 0.75],685 ["A2", 35.25, 0.75],686 ["Ab2", 36, 0.75],687 ["Ab2", 36.75, 0.75],688 ["G2", 37.5, 0.75],689 ["C2", 38.25, 0.25],690 ["D2", 38.5, 0.25],691 ["E2", 38.75, 0.25],692 ["Bb2", 39, 0.75],693 ["Bb2", 39.75, 0.75],694 ["A2", 40.5, 0.75],695 ["A2", 41.25, 0.75],696 ["Ab2", 42, 0.75],697 ["Ab2", 42.75, 0.75],698 ["G2", 43.5, 0.75],699 ["C2", 44.25, 0.25],700 ["D2", 44.5, 0.25],701 ["E2", 44.75, 0.25],702 ["F2", 45, 0.75],703 ["A2", 45.75, 0.75],704 ["Bb2", 46.5, 0.75],705 ["B2", 47.25, 0.75],706 ["G2", 48, 0.75],707 ["C2", 48.75, 0.75],708 ["F2", 49.5, 0.75],709 ["F2", 50.25, 0.75]...`

rotate_ops.py

Source:rotate_ops.py

`1#! /usr/bin/env python2# coding: utf-83# XXX Rename to xform or something (not starting with a r)4from colors import *5from cube_ops import *6import random7def rubicC(f1, f2, f3):8 c1, c2, c3, c4, c5, c6, c7, c8, c9 = f39 f3 = [10 c7,11 c4,12 c1,13 c8,14 c5,15 c2,16 c9,17 c6,18 c319 ]20 f3 = [cubeC(*cube) for cube in f3]21 return f1, f2, f322def rubicCC(f1, f2, f3):23 ''' Could implement that with 3 rubicC '''24 c1, c2, c3, c4, c5, c6, c7, c8, c9 = f325 f3 = [26 c3,27 c6,28 c9,29 c2,30 c5,31 c8,32 c1,33 c4,34 c735 ]36 f3 = [cubeCC(*cube) for cube in f3]37 return f1, f2, f338def rubicF2C(f1, f2, f3):39 c1, c2, c3, c4, c5, c6, c7, c8, c9 = f240 f2 = [41 c7,42 c4,43 c1,44 c8,45 c5,46 c2,47 c9,48 c6,49 c350 ]51 f2 = [cubeC(*cube) for cube in f2]52 return f1, f2, f353def rubicF1C(f1, f2, f3):54 c1, c2, c3, c4, c5, c6, c7, c8, c9 = f155 f1 = [56 c7,57 c4,58 c1,59 c8,60 c5,61 c2,62 c9,63 c6,64 c365 ]66 f1 = [cubeC(*cube) for cube in f1]67 return f1, f2, f368def rubicTR(f1, f2, f3):69 ''' T for top, R for right70 '''71 c11, c12, c13, c14, c15, c16, c17, c18, c19 = f172 c21, c22, c23, c24, c25, c26, c27, c28, c29 = f273 c31, c32, c33, c34, c35, c36, c37, c38, c39 = f374 f1 = [75 cubeR(*c13),76 cubeR(*c23),77 cubeR(*c33),78 c14, # 4 to 9 are invariant79 c15,80 c16,81 c17,82 c18,83 c1984 ]85 f2 = [86 cubeR(*c12),87 cubeR(*c22),88 cubeR(*c32),89 c24, # 4 to 9 are invariant90 c25,91 c26,92 c27,93 c28,94 c2995 ]96 f3 = [97 cubeR(*c11),98 cubeR(*c21),99 cubeR(*c31),100 c34, # 4 to 9 are invariant101 c35,102 c36,103 c37,104 c38,105 c39106 ]107 return f1, f2, f3108def rubicTL(f1, f2, f3):109 ''' T for top, L for left 110 '''111 f1, f2, f3 = rubicTR( f1, f2, f3 )112 f1, f2, f3 = rubicTR( f1, f2, f3 )113 return rubicTR( f1, f2, f3 )114def rubicMR(f1, f2, f3):115 c11, c12, c13, c14, c15, c16, c17, c18, c19 = f1116 c21, c22, c23, c24, c25, c26, c27, c28, c29 = f2117 c31, c32, c33, c34, c35, c36, c37, c38, c39 = f3118 f1 = [119 c11, # first three invariants120 c12,121 c13,122 cubeR(*c16),123 cubeR(*c26),124 cubeR(*c36),125 c17, # last three invariants126 c18,127 c19128 ]129 f2 = [130 c21, # first three invariants131 c22,132 c23,133 cubeR(*c15),134 cubeR(*c25),135 cubeR(*c35),136 c27, # last three invariants137 c28,138 c29139 ]140 f3 = [141 c31, # first three invariants142 c32,143 c33, 144 cubeR(*c14),145 cubeR(*c24),146 cubeR(*c34),147 c37, # last three invariants148 c38,149 c39150 ]151 return f1, f2, f3152def rubicML(f1, f2, f3):153 ''' T for top, L for left 154 '''155 f1, f2, f3 = rubicMR( f1, f2, f3 )156 f1, f2, f3 = rubicMR( f1, f2, f3 )157 return rubicMR( f1, f2, f3 )158 159def rubicBR(f1, f2, f3):160 c11, c12, c13, c14, c15, c16, c17, c18, c19 = f1161 c21, c22, c23, c24, c25, c26, c27, c28, c29 = f2162 c31, c32, c33, c34, c35, c36, c37, c38, c39 = f3163 f1 = [164 c11, # 1 to 6 invariants165 c12,166 c13,167 c14,168 c15,169 c16,170 cubeR(*c19),171 cubeR(*c29),172 cubeR(*c39),173 ]174 f2 = [175 c21, # 1 to 6 invariants176 c22,177 c23,178 c24,179 c25,180 c26,181 cubeR(*c18),182 cubeR(*c28),183 cubeR(*c38),184 ]185 f3 = [186 c31, # 1 to 6 invariants187 c32,188 c33,189 c34,190 c35,191 c36,192 cubeR(*c17),193 cubeR(*c27),194 cubeR(*c37),195 ]196 return f1, f2, f3197def rubicBL(f1, f2, f3):198 ''' B for bottom, L for left 199 '''200 f1, f2, f3 = rubicBR( f1, f2, f3 )201 f1, f2, f3 = rubicBR( f1, f2, f3 )202 return rubicBR( f1, f2, f3 )203def rubicRU(f1, f2, f3):204 c11, c12, c13, c14, c15, c16, c17, c18, c19 = f1205 c21, c22, c23, c24, c25, c26, c27, c28, c29 = f2206 c31, c32, c33, c34, c35, c36, c37, c38, c39 = f3207 f1 = [208 c11, # 1 2 4 5 7 8 invariants209 c12,210 cubeU(*c33),211 c14,212 c15,213 cubeU(*c23),214 c17,215 c18,216 cubeU(*c13),217 ]218 f2 = [219 c21, # 1 2 4 5 7 8 invariants220 c22,221 cubeU(*c36),222 c24,223 c25,224 cubeU(*c26),225 c27,226 c28,227 cubeU(*c16),228 ]229 f3 = [230 c31, # 1 2 4 5 7 8 invariants231 c32,232 cubeU(*c39),233 c34,234 c35,235 cubeU(*c29),236 c37,237 c38,238 cubeU(*c19),239 ]240 return f1, f2, f3241def rubicRD(f1, f2, f3):242 ''' Right Down243 '''244 f1, f2, f3 = rubicRU( f1, f2, f3 )245 f1, f2, f3 = rubicRU( f1, f2, f3 )246 return rubicRU( f1, f2, f3 )247def rubicMU(f1, f2, f3):248 c11, c12, c13, c14, c15, c16, c17, c18, c19 = f1249 c21, c22, c23, c24, c25, c26, c27, c28, c29 = f2250 c31, c32, c33, c34, c35, c36, c37, c38, c39 = f3251 f1 = [252 c11,253 cubeU(*c32),254 c13,255 c14,256 cubeU(*c22),257 c16,258 c17,259 cubeU(*c12),260 c19,261 ]262 f2 = [263 c21,264 cubeU(*c35),265 c23,266 c24,267 cubeU(*c25),268 c26,269 c27,270 cubeU(*c15),271 c29,272 ]273 f3 = [274 c31,275 cubeU(*c38),276 c33,277 c34,278 cubeU(*c28),279 c36,280 c37,281 cubeU(*c18),282 c39,283 ]284 return f1, f2, f3285def rubicMD(f1, f2, f3):286 ''' Middle Down287 '''288 f1, f2, f3 = rubicMU( f1, f2, f3 )289 f1, f2, f3 = rubicMU( f1, f2, f3 )290 return rubicMU( f1, f2, f3 )291def rubicLU(f1, f2, f3):292 c11, c12, c13, c14, c15, c16, c17, c18, c19 = f1293 c21, c22, c23, c24, c25, c26, c27, c28, c29 = f2294 c31, c32, c33, c34, c35, c36, c37, c38, c39 = f3295 f1 = [296 cubeU(*c31),297 c12,298 c13,299 cubeU(*c21),300 c15,301 c16,302 cubeU(*c11),303 c18,304 c19,305 ]306 f2 = [307 cubeU(*c34),308 c22,309 c23,310 cubeU(*c24),311 c25,312 c26,313 cubeU(*c14),314 c28,315 c29,316 ]317 f3 = [318 cubeU(*c37),319 c32,320 c33,321 cubeU(*c27),322 c35,323 c36,324 cubeU(*c17),325 c38,326 c39,327 ]328 return f1, f2, f3329def rubicLD(f1, f2, f3):330 ''' Middle Down331 '''332 f1, f2, f3 = rubicLU( f1, f2, f3 )333 f1, f2, f3 = rubicLU( f1, f2, f3 )334 return rubicLU( f1, f2, f3 )335# ~ Views336def rubicUpsideDown(f1, f2, f3):337 f1, f2, f3 = rubicC(f1, f2, f3)338 f1, f2, f3 = rubicC(f1, f2, f3)339 f1, f2, f3 = rubicF2C(f1, f2, f3)340 f1, f2, f3 = rubicF2C(f1, f2, f3)341 f1, f2, f3 = rubicF1C(f1, f2, f3)342 f1, f2, f3 = rubicF1C(f1, f2, f3)343 return f1, f2, f3344def rubicRight(f1, f2, f3):345 # XXX louche346 f1, f2, f3 = rubicTR(f1, f2, f3)347 f1, f2, f3 = rubicMR(f1, f2, f3)348 f1, f2, f3 = rubicBR(f1, f2, f3)349 return f1, f2, f3350def rubicLeft(f1, f2, f3):351 # XXX louche352 f1, f2, f3 = rubicTL(f1, f2, f3)353 f1, f2, f3 = rubicML(f1, f2, f3)354 f1, f2, f3 = rubicBL(f1, f2, f3)355 return f1, f2, f3356def rubicUp(f1, f2, f3):357 f1, f2, f3 = rubicRU(f1, f2, f3)358 f1, f2, f3 = rubicMU(f1, f2, f3)359 f1, f2, f3 = rubicLU(f1, f2, f3)360 return f1, f2, f3361def rubicDown(f1, f2, f3):362 f1, f2, f3 = rubicRD(f1, f2, f3)363 f1, f2, f3 = rubicMD(f1, f2, f3)364 f1, f2, f3 = rubicLD(f1, f2, f3)365 return f1, f2, f3366def randomize(f1, f2, f3):367 for i in xrange(500):368 code = random.randint(0, 20)369 print code370 if code == 0:371 f1, f2, f3 = rubicUpsideDown(f1, f2, f3)372 elif code == 1:373 f1, f2, f3 = rubicRight(f1, f2, f3)374 elif code == 2:375 f1, f2, f3 = rubicLeft(f1, f2, f3)376 elif code == 3:377 f1, f2, f3 = rubicUp(f1, f2, f3)378 elif code == 4:379 f1, f2, f3 = rubicDown(f1, f2, f3)380 elif code == 5:381 f1, f2, f3 = rubicC(f1, f2, f3)382 elif code == 6:383 f1, f2, f3 = rubicCC(f1, f2, f3)384 elif code == 7:385 f1, f2, f3 = rubicF2C(f1, f2, f3)386 elif code == 8:387 f1, f2, f3 = rubicF1C(f1, f2, f3)388 elif code == 9:389 f1, f2, f3 = rubicTR(f1, f2, f3)390 elif code == 10:391 f1, f2, f3 = rubicTL(f1, f2, f3)392 elif code == 11:393 f1, f2, f3 = rubicMR(f1, f2, f3)394 elif code == 12:395 f1, f2, f3 = rubicML(f1, f2, f3)396 elif code == 13:397 f1, f2, f3 = rubicBR(f1, f2, f3)398 elif code == 14:399 f1, f2, f3 = rubicBL(f1, f2, f3)400 elif code == 15:401 f1, f2, f3 = rubicRU(f1, f2, f3)402 elif code == 16:403 f1, f2, f3 = rubicRD(f1, f2, f3)404 elif code == 17:405 f1, f2, f3 = rubicMU(f1, f2, f3)406 elif code == 18:407 f1, f2, f3 = rubicMD(f1, f2, f3)408 elif code == 19:409 f1, f2, f3 = rubicLU(f1, f2, f3)410 elif code == 20:411 f1, f2, f3 = rubicLD(f1, f2, f3)412 return f1, f2, f3413if __name__ == '__main__':414 # Back to front: f1, f2, f3...`

Calls.py

Source:Calls.py

`...151 f2(1,2)152 f2(1,2)153 f2(1,2)154 f2(1,2)155 f3(1,3,2)156 f3(1,3,2)157 f3(1,3,2)158 f3(1,3,2)159 f3(1,3,2)160 f0()161 f0()162 f1(i)163 f1(i)164 f1(i)165 f1(i)166 f1(i)167 f2(1,2)168 f2(1,2)169 f2(1,2)170 f2(1,2)171 f2(1,2)172 f3(1,3,2)173 f3(1,3,2)174 f3(1,3,2)175 f3(1,3,2)176 f3(1,3,2)177 f0()178 f0()179 f1(i)180 f1(i)181 f1(i)182 f1(i)183 f1(i)184 f2(1,2)185 f2(1,2)186 f2(1,2)187 f2(1,2)188 f2(1,2)189 f3(1,3,2)190 f3(1,3,2)191 f3(1,3,2)192 f3(1,3,2)193 f3(1,3,2)194 f0()195 f0()196 f1(i)197 f1(i)198 f1(i)199 f1(i)200 f1(i)201 f2(1,2)202 f2(1,2)203 f2(1,2)204 f2(1,2)205 f2(1,2)206 f3(1,3,2)207 f3(1,3,2)208 f3(1,3,2)209 f3(1,3,2)210 f3(1,3,2)211 f0()212 f0()213 f1(i)214 f1(i)215 f1(i)216 f1(i)217 f1(i)218 f2(1,2)219 f2(1,2)220 f2(1,2)221 f2(1,2)222 f2(1,2)223 f3(1,3,2)224 f3(1,3,2)225 f3(1,3,2)226 f3(1,3,2)227 f3(1,3,2)228 def calibrate(self):229 # localize functions230 f0 = dir231 f1 = hash232 f2 = divmod233 f3 = max234 # do calls235 for i in range(self.rounds):236 pass237###238class PythonMethodCalls(Test):239 version = 2.0240 operations = 5*(6 + 5 + 4)241 rounds = 30000...`

Gestures.js

Source:Gestures.js

`1{ gestures: [2 {3 name : 'INSERT', 4 description : 'V-shape', 5 functions : 6 {7 f2 : 'U', 8 f3 : 'M', 9 f4 : 'M', 10 f5 : 'P', 11 f6 : 'U', 12 f8 : 'P', 13 f9 : 'M'14 }, 15 masks :16 {17 f1_lower : 0,18 f1_upper : 0, 19 f2 : 0, 20 f3 : 1, 21 f4 : 1, 22 f5 : 1, 23 f6 : 0, 24 f7_lower : 0,25 f7_upper : 9, 26 f8 : 1, 27 f9 : 1 28 }29 },30 {31 name : 'JOIN', 32 description : 'Negative horizontal arc', 33 functions : 34 {35 f2 : 'U', 36 f3 : 'P', 37 f4 : 'M', 38 f5 : 'P', 39 f6 : 'U', 40 f8 : 'P', 41 f9 : 'M'42 }, 43 masks :44 {45 f1_lower : 0,46 f1_upper : 0, 47 f2 : 0, 48 f3 : 1, 49 f4 : 1, 50 f5 : 1, 51 f6 : 0, 52 f7_lower : 0,53 f7_upper : 9, 54 f8 : 1, 55 f9 : 156 }57 },58 {59 name : 'INSERT_LINE', 60 description : '', 61 functions : 62 {63 f2 : 'U', 64 f3 : 'U', 65 f4 : 'P', 66 f5 : 'P', 67 f6 : 'M', 68 f8 : 'M', 69 f9 : 'P'70 }, 71 masks :72 {73 f1_lower : 0,74 f1_upper : 0, 75 f2 : 0, 76 f3 : 0, 77 f4 : 1, 78 f5 : 1, 79 f6 : 1, 80 f7_lower : 0,81 f7_upper : 9, 82 f8 : 1, 83 f9 : 1 84 }85 },86 {87 name : 'UNDO', 88 description : '', 89 functions : 90 {91 f2 : 'U', 92 f3 : 'P', 93 f4 : 'P', 94 f5 : 'M', 95 f6 : 'M', 96 f8 : 'P', 97 f9 : 'M'98 }, 99 masks :100 {101 f1_lower : 0,102 f1_upper : 9, 103 f2 : 0, 104 f3 : 1, 105 f4 : 1, 106 f5 : 1, 107 f6 : 0, 108 f7_lower : 1,109 f7_upper : 1, 110 f8 : 1, 111 f9 : 1 112 }113 },114 {115 name : 'DELETE', 116 description : '', 117 functions : 118 {119 f2 : 'U', 120 f3 : 'U', 121 f4 : 'M', 122 f5 : 'P', 123 f6 : 'M', 124 f8 : 'P', 125 f9 : 'M'126 }, 127 masks :128 {129 f1_lower : 1,130 f1_upper : 9, 131 f2 : 0, 132 f3 : 0,133 f4 : 1, 134 f5 : 1, 135 f6 : 1, 136 f7_lower : 5,137 f7_upper : 9, 138 f8 : 1, 139 f9 : 1 140 }141 },142 {143 name : 'SWAP', 144 description : '', 145 functions : 146 {147 f2 : 'M', 148 f3 : 'U', 149 f4 : 'M', 150 f5 : 'P', 151 f6 : 'M', 152 f8 : 'P', 153 f9 : 'M'154 }, 155 masks :156 {157 f1_lower : 1,158 f1_upper : 1, 159 f2 : 1, 160 f3 : 0,161 f4 : 0, 162 f5 : 0, 163 f6 : 0, 164 f7_lower : 2,165 f7_upper : 3, 166 f8 : 1, 167 f9 : 1 168 }169 },170 {171 name : 'SPACE', 172 description : '', 173 functions : 174 {175 f2 : 'U', 176 f3 : 'U', 177 f4 : 'U', 178 f5 : 'U', 179 f6 : 'M', 180 f8 : 'U', 181 f9 : 'U'182 }, 183 masks :184 {185 f1_lower : 1,186 f1_upper : 9, 187 f2 : 0, 188 f3 : 0,189 f4 : 0, 190 f5 : 0, 191 f6 : 1, 192 f7_lower : 1,193 f7_upper : 1, 194 f8 : 0, 195 f9 : 0 196 }197 },198 {199 name : 'NEW_LINE', 200 description : '', 201 functions : 202 {203 f2 : 'P', 204 f3 : 'U', 205 f4 : 'M', 206 f5 : 'P', 207 f6 : 'P', 208 f8 : 'P', 209 f9 : 'M'210 }, 211 masks :212 {213 f1_lower : 1,214 f1_upper : 1, 215 f2 : 0, 216 f3 : 0,217 f4 : 0, 218 f5 : 0, 219 f6 : 1, 220 f7_lower : 1,221 f7_upper : 9, 222 f8 : 1, 223 f9 : 1 224 }225 },226 {227 name : 'SELECT', 228 description : '', 229 functions : 230 {231 f2 : 'U', 232 f3 : 'M', 233 f4 : 'U', 234 f5 : 'U', 235 f6 : 'U', 236 f8 : 'M', 237 f9 : 'U'238 }, 239 masks :240 {241 f1_lower : 0,242 f1_upper : 0, 243 f2 : 0, 244 f3 : 1,245 f4 : 1, 246 f5 : 0, 247 f6 : 0, 248 f7_lower : 0,249 f7_upper : 9, 250 f8 : 1, 251 f9 : 0 252 }253 },254 {255 name : 'COPY', 256 description : '', 257 functions : 258 {259 f2 : 'U', 260 f3 : 'U', 261 f4 : 'M', 262 f5 : 'M', 263 f6 : 'M', 264 f8 : 'M', 265 f9 : 'P'266 }, 267 masks :268 {269 f1_lower : 0,270 f1_upper : 0, 271 f2 : 0, 272 f3 : 0,273 f4 : 1, 274 f5 : 1, 275 f6 : 0, 276 f7_lower : 0,277 f7_upper : 9, 278 f8 : 1, 279 f9 : 1 280 }281 },282 {283 name : 'PASTE', 284 description : '', 285 functions : 286 {287 f2 : 'U', 288 f3 : 'U', 289 f4 : 'U', 290 f5 : 'P', 291 f6 : 'P', 292 f8 : 'M', 293 f9 : 'P'294 }, 295 masks :296 {297 f1_lower : 0,298 f1_upper : 0, 299 f2 : 0, 300 f3 : 0,301 f4 : 0, 302 f5 : 1, 303 f6 : 1, 304 f7_lower : 4,305 f7_upper : 4, 306 f8 : 1, 307 f9 : 1 308 }309 }...`

swimmingStraight.ts

Source:swimmingStraight.ts

`1const d = (e) => { // duration short notation2 const [value, duration] = e.split('*');3 if (duration) {4 return { sequential: [value], duration: parseInt(duration) };5 }6 return value;7}8const s = (str, duration = 1) => ({ sequential: str.split(' ').map(d), duration }); // sequential short notation9const p = (str, duration = 1) => ({ parallel: str.split(' ').map(d), duration }); // parallel short notation10const w = (str) => ['r', 'r', [p(str),'r'], [p(str),'r']]; // reggae chord comping11export default {12 name: 'Swimming (Straight 8ths)',13 composer: 'Koji Kondo',14 duration: 62,15 parallel: [16 {17 description: 'melody',18 velocity: 1,19 sequential: [20 d('r*3'),21 ['A5', s('F5*3 C5'), s('D5*3 F5'), 'F5'],22 [s('C5*3 F5'), s('F5*3 C6'), 'A5', 'G5'],23 ['A5', s('F5*3 C5'), s('D5*3 F5'), 'F5'],24 [s('C5*3 F5'), s('Bb5*2 A5 G5'), d('F5*2')],25 ['A5', s('F5*3 C5'), s('D5*3 F5'), 'F5'],26 [s('C5*3 F5'), s('F5*3 C6'), 'A5', 'G5'],27 ['A5', s('F5*3 C5'), s('D5*3 F5'), 'F5'],28 [s('C5*3 F5'), s('Bb5*2 A5 G5'), d('F5*2')],29 ['A5', s('F5*3 C5'), 'A5', 'F5'],30 ['Ab5', s('F5*3 Ab5'), d('G5*3')],31 ['A5', s('F5*3 C5'), 'A5', 'F5'],32 ['Ab5', s('F5*3 C5'), d('C6*3')],33 ['A5', s('F5*3 C5'), s('D5*3 F5'), 'F5'],34 [s('C5*3 F5'), s('Bb5*2 A5 G5'), d('F5*2')]35 ]36 },37 {38 description: 'chords',39 velocity: 0.1,40 sequential: [41 [42 p('F4 Bb4 D5'),43 [p('D4 G4 Bb4'), p('Bb3 D4 F4')],44 [p('G3 C4 E4'), [p('Ab3 F4'), p('A3 Gb4')]],45 p('Bb3 E4 G4')46 ],47 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 Bb3 Db3')],48 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 B3 D3')],49 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 B3 D3')],50 [w('A3 C4 E4'), w('Ab3 C4 Eb4'), w('F3 Bb3 D3'), w('G3 C4 E4')],51 [w('F3 A3 C4'), w('F3 A3 C4'), w('F3 Bb3 D3'), w('F3 B3 D3')],52 [w('F3 Bb3 D4'), w('F3 Bb3 C4'), w('F3 A3 C4'), w('F3 A3 C4')],53 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 B3 D3')],54 [w('A3 C4 E4'), w('Ab3 C4 Eb4'), w('F3 Bb3 D3'), w('G3 C4 E4')],55 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 B3 D3')],56 [w('F3 Bb3 D4'), w('F3 Bb3 C4'), w('F3 A3 C4'), w('F3 A3 C4')],57 [w('Bb3 D3 F4'), w('Bb3 D3 F4'), w('A3 C4 F4'), w('A3 C4 F4')],58 [w('Ab3 B3 F4'), w('Ab3 B3 F4'), w('G3 Bb3 F4'), w('G3 Bb3 E4')],59 [w('Bb3 D3 F4'), w('Bb3 D3 F4'), w('A3 C4 F4'), w('A3 C4 F4')],60 [w('Ab3 B3 F4'), w('Ab3 B3 F4'), w('G3 Bb3 F4'), w('G3 Bb3 E4')],61 [w('F3 A3 C3'), w('F3 A3 C3'), w('F3 Bb3 D3'), w('F3 B3 D3')],62 [w('F3 Bb3 D4'), w('F3 Bb3 C4'), w('F3 A3 C4'), w('F3 A3 C4')]63 ]64 },65 {66 description: 'bass',67 sequential: [68 ['G3', 'G3', 'C3', 'E3'],69 ['F2', 'D2', 'G2', 'C2'],70 ['F2', 'D2', 'G2', 'C2'],71 ['F2', 'A2', 'Bb2', 'B2'],72 ['A2', 'Ab2', 'G2', 'C2'],73 ['F2', 'A2', 'Bb2', 'B2'],74 ['G2', 'C2', 'F2', 'F2'],75 ['F2', 'A2', 'Bb2', 'B2'],76 ['A2', 'Ab2', 'G2', 'C2'],77 ['F2', 'A2', 'Bb2', 'B2'],78 ['G2', 'C2', 'F2', 'F2'],79 ['Bb2', 'Bb2', 'A2', 'A2'],80 ['Ab2', 'Ab2', 'G2', ['C2', 'D2', 'E2']],81 ['Bb2', 'Bb2', 'A2', 'A2'],82 ['Ab2', 'Ab2', 'G2', ['C2', 'D2', 'E2']],83 ['F2', 'A2', 'Bb2', 'B2'],84 ['G2', 'C2', 'F2', 'F2']85 ]86 }87 ]...`

Using AI Code Generation

`1var differencify = require('differencify');2differencify.f3();3var differencify = require('differencify');4differencify.f2();5var differencify = require('differencify');6differencify.f1();7var differencify = require('differencify');8differencify.f0();9var differencify = require('differencify');10differencify.f2();11var differencify = require('differencify');12differencify.f1();13var differencify = require('differencify');14differencify.f0();15var differencify = require('differencify');16differencify.f1();17var differencify = require('differencify');18differencify.f0();19var differencify = require('differencify');20differencify.f0();21var differencify = require('differencify');22differencify.f1();23var differencify = require('differencify');24differencify.f0();25var differencify = require('differencify');26differencify.f0();`

Using AI Code Generation

`1var assert = require('assert');2var differencify = require('differencify');3var f3 = differencify.f3;4var a = 1;5var b = 1;6var c = 2;7f3(assert.equal, a, b, 'a should be equal to b');8f3(assert.equal, a, c, 'a should be equal to c');9var assert = require('assert');10var differencify = require('differencify');11var f3 = differencify.f3;12var a = 1;13var b = 1;14var c = 2;15f3(assert.equal, a, b, 'a should be equal to b');16f3(assert.equal, a, c, 'a should be equal to c');17var assert = require('assert');18var differencify = require('differencify');19var f3 = differencify.f3;20var a = 1;21var b = 1;22var c = 2;23f3(assert.equal, a, b, 'a should be equal to b');24f3(assert.equal, a, c, 'a should be equal to c');25var assert = require('assert');26var differencify = require('differencify');27var f3 = differencify.f3;28var a = 1;29var b = 1;30var c = 2;31f3(assert.equal, a, b, 'a should be equal to b');32f3(assert.equal, a, c, 'a should be equal to c');33var assert = require('assert');34var differencify = require('differencify');`

Using AI Code Generation

`1var f3 = require('differencify').f3;2 if(err) {3 console.log(err);4 } else {5 console.log(res);6 }7});8{ isSameDimensions: true,9 dimensionDifference: { width: 0, height: 0 },10 analysisTime: 2216 }`

Using AI Code Generation

`1const differencify = require('differencify');2const f3 = differencify.init({3 browser: {4 },5});6const differencify = require('differencify');7const f3 = differencify.init({8 browser: {9 },10});11const differencify = require('differencify');12const f3 = differencify.init({13 browser: {14 },15});16const differencify = require('differencify');17const f3 = differencify.init({18 browser: {19 },20});21const differencify = require('differencify');22const f3 = differencify.init({23 browser: {24 },25});26const differencify = require('differencify');27const f3 = differencify.init({28 browser: {29 },30});31const differencify = require('differencify');32const f3 = differencify.init({`

Using AI Code Generation

`1const differencify = require('differencify')2const f3 = differencify({logLevel: 'info'}).f33describe('test', () => {4 it('should', async () => {5 const browser = await f3.init()6 await browser.pause(5000)7 })8})9const differencify = require('differencify')10const f3 = differencify({logLevel: 'info'}).f311describe('test', () => {12 it('should', async () => {13 const browser = await f3.init()14 const searchBox = await browser.\$('input[name="q"]')15 await f3(searchBox)16 await browser.pause(5000)17 })18})`

Using AI Code Generation

`1var f3 = require('differencify').f3;2var f3 = require('differencify').f3;3f3('test1.png', 'test2.png', 'test3.png');4var f3 = require('differencify').f3;5var f3 = require('differencify').f3;6f3('test1.png', 'test2.png', 'test3.png');7var f3 = require('differencify').f3;8var f3 = require('differencify').f3;9f3('test1.png', 'test2.png', 'test3.png');10var f3 = require('differencify').f3;11var f3 = require('differencify').f3;12f3('test1.png', 'test2.png', 'test3.png');13var f3 = require('differencify').f3;14var f3 = require('differencify').f3;15f3('test1.png', 'test2.png', 'test3.png');16var f3 = require('differencify').f3;17var f3 = require('differencify').f3;18f3('test1.png', 'test2.png', 'test3.png');19var f3 = require('differencify').f3;20var f3 = require('differencify').f3;21f3('test1.png', 'test2.png', 'test3.png');`

Using AI Code Generation

`1const { f3 } = require('differencify');2});3const { f2 } = require('differencify');4});5const { f1 } = require('differencify');6});7const { f0 } = require('differencify');8});9const { diff } = require('differencify');10});11const { compare } = require('differencify');12});13const { takeScreenshot } = require('differencify');14});15const { takeScreenshot } = require('differencify');16});`

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run differencify automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!