-
Notifications
You must be signed in to change notification settings - Fork 86
/
menu.py
71 lines (64 loc) · 3.35 KB
/
menu.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
"""See menu.md for details."""
# Reset the module state and display bootsplash screen.
from europi import bootsplash
bootsplash()
from bootloader import BootloaderMenu
from collections import OrderedDict
## Scripts that are included in the menu
#
# Keys are the names displayed in the menu, values are the fully-qualified names
# of the classes to launch. The classes MUST be EuriPiScript subclasses
#
# The OLED can display up to 16 characters horizontally, so make sure the names fit
# that width requirement
#
# fmt: off
EUROPI_SCRIPTS = OrderedDict([
# ["0123456789abcdef", "contrib.spam.Eggs"],
["Arpeggiator", "contrib.arp.Arpeggiator"],
["Bernoulli Gates", "contrib.bernoulli_gates.BernoulliGates"],
["Bezier Curves", "contrib.bezier.Bezier"],
["Bit Garden", "contrib.bit_garden.BitGarden"],
["Clock Modifier", "contrib.clock_mod.ClockModifier"],
["Coin Toss", "contrib.coin_toss.CoinToss"],
["Consequencer", "contrib.consequencer.Consequencer"],
["Conway", "contrib.conway.Conway"],
["CVecorder", "contrib.cvecorder.CVecorder"],
["Diagnostic", "contrib.diagnostic.Diagnostic"],
["EgressusMelodiam", "contrib.egressus_melodiam.EgressusMelodiam"],
["EnvelopeGen", "contrib.envelope_generator.EnvelopeGenerator"],
["Euclid", "contrib.euclid.EuclideanRhythms"],
["Gates & Triggers", "contrib.gates_and_triggers.GatesAndTriggers"],
["Gate Phaser", "contrib.gate_phaser.GatePhaser"],
["Hamlet", "contrib.hamlet.Hamlet"],
["HarmonicLFOs", "contrib.harmonic_lfos.HarmonicLFOs"],
["HelloWorld", "contrib.hello_world.HelloWorld"],
["KnobPlayground", "contrib.knob_playground.KnobPlayground"],
["Kompari", "contrib.kompari.Kompari"],
["Logic", "contrib.logic.Logic"],
["Lutra", "contrib.lutra.Lutra"],
["MasterClock", "contrib.master_clock.MasterClock"],
["NoddyHolder", "contrib.noddy_holder.NoddyHolder"],
["Pam's Workout", "contrib.pams.PamsWorkout"],
["Particle Phys.", "contrib.particle_physics.ParticlePhysics"],
["Piconacci", "contrib.piconacci.Piconacci"],
["PolyrhythmSeq", "contrib.polyrhythmic_sequencer.PolyrhythmSeq"],
["PolySquare", "contrib.poly_square.PolySquare"],
["Probapoly", "contrib.probapoly.Probapoly"],
["Quantizer", "contrib.quantizer.QuantizerScript"],
["RadioScanner", "contrib.radio_scanner.RadioScanner"],
["Scope", "contrib.scope.Scope"],
["Seq. Switch", "contrib.sequential_switch.SequentialSwitch"],
["Sigma", "contrib.sigma.Sigma"],
["Slopes", "contrib.slopes.Slopes"],
["Smooth Rnd Volts", "contrib.smooth_random_voltages.SmoothRandomVoltages"],
["StrangeAttractor", "contrib.strange_attractor.StrangeAttractor"],
["Traffic", "contrib.traffic.Traffic"],
["Turing Machine", "contrib.turing_machine.EuroPiTuringMachine"],
["Volts", "contrib.volts.OffsetVoltages"],
["_Calibrate", "calibrate.Calibrate"], # this one should always be second to last!
["_BootloaderMode", "bootloader_mode.BootloaderMode"] # this one should always be last!
])
# fmt: on
if __name__ == "__main__":
BootloaderMenu(EUROPI_SCRIPTS).main()