Bump V3.0.22 (#110)

* change simulator svg

* change radio image

* Remove google fonts cdn

* change color of 'advanced' button

* font fix

* font fix 2

* display fix

* change fullsceen simulator bg

* Continuous servo

* handle continuous state

* adding shims

* update rendering for continuous servos

* fixing sim

* fix sig

* typo

* fix sim

* bump pxt

* bump pxt

* rerun travis

* Input blocks revision

- add Button and Pin event types
- merge onPinPressed & onPinReleased in new onPinEvent function
- create new onButtonEvent function

* update input blocks in docs and tests

* remove device_pin_release block

* Hide DAL.x behind Enum

* bring back deprecated blocks, but hide them

* shims and locales files

* fix input.input. typing

* remove buildpr

* bump V3

* update simulator aspect ratio

* add Loudness Block

* revoke loudness block

* Adds soundLevel

To be replaced by pxt-common-packages when DAL is updated.

* Remove P0 & P3 from AnalogPin

Co-authored-by: Juri <gitkraken@juriwolf.de>
This commit is contained in:
Amerlander
2020-09-08 11:04:25 +02:00
committed by GitHub
parent 98d8b2977b
commit 918af4f3ac
233 changed files with 9391 additions and 2739 deletions

View File

@ -4,6 +4,10 @@
"AcceleratorRange.OneG": "The accelerator measures forces up to 1 gravity",
"AcceleratorRange.TwoG": "The accelerator measures forces up to 2 gravity",
"Array": "Add, remove, and replace items in lists.",
"Array._popStatement": "Remove the last element from an array and return it.",
"Array._removeAtStatement": "Remove the element at a certain index.",
"Array._shiftStatement": "Remove the first element from an array and return it. This method changes the length of the array.",
"Array._unshiftStatement": "Add one element to the beginning of an array and return the new length of the array.",
"Array.concat": "Concatenates the values with another array.",
"Array.concat|param|arr": "The other array that is being concatenated with",
"Array.every": "Tests whether all elements in the array pass the test implemented by the provided function.",
@ -50,17 +54,20 @@
"Array.unshift": "Add one element to the beginning of an array and return the new length of the array.",
"Array@type": "Add, remove, and replace items in lists.",
"Boolean.toString": "Returns a string representation of an object.",
"Buffer.chunked": "Splits buffer into parts no larger than specified",
"Buffer.concat": "Return concatenation of current buffer and the given buffer\n\nConcatenates all buffers in the list",
"Buffer.create": "Allocate a new buffer.",
"Buffer.create|param|size": "number of bytes in the buffer",
"Buffer.equals": "Returns true if this and the other buffer hold the same data",
"Buffer.fill": "Fill (a fragment) of the buffer with given value.",
"Buffer.fromArray": "Create a new buffer initalized to bytes from given array.",
"Buffer.fromArray|param|bytes": "data to initalize with",
"Buffer.fromArray": "Create a new buffer initialized to bytes from given array.",
"Buffer.fromArray|param|bytes": "data to initialize with",
"Buffer.fromHex": "Create a new buffer, decoding a hex string",
"Buffer.fromUTF8": "Create a new buffer with UTF8-encoded string",
"Buffer.fromUTF8|param|str": "the string to put in the buffer",
"Buffer.getNumber": "Read a number in specified format from the buffer.",
"Buffer.getUint8": "Reads an unsigned byte at a particular location",
"Buffer.hash": "Compute k-bit FNV-1 non-cryptographic hash of the buffer.",
"Buffer.indexOf": "Return position of other buffer in current buffer",
"Buffer.isReadOnly": "Returns false when the buffer can be written to.",
"Buffer.length": "Returns the length of a Buffer object.",
@ -77,6 +84,7 @@
"Buffer.shift|param|start": "start offset in buffer. Default is 0.",
"Buffer.sizeOfNumberFormat": "Get the size in bytes of specified number format.",
"Buffer.slice": "Return a copy of a fragment of a buffer.",
"Buffer.toArray": "Read contents of buffer as an array in specified format",
"Buffer.toHex": "Convert a buffer to its hexadecimal representation.",
"Buffer.toString": "Convert a buffer to string assuming UTF8 encoding",
"Buffer.unpack": "Reads numbers from the buffer according to the format",
@ -220,8 +228,15 @@
"String.substr|param|length": "number of characters to extract",
"String.substr|param|start": "first character index; can be negative from counting from the end, eg:0",
"String.toLowerCase": "Converts the string to lower case characters.",
"String.trim": "Return a substring of the current string with whitespace removed from both ends",
"String@type": "Combine, split, and search text strings.",
"StringMap": "A dictionary from string key to string values",
"_py.range": "Returns a sequence of numbers up to but not including the limit\n\nIf more than one argument is passed, this argument is instead used for the first value in the range",
"_py.range|param|first": "The value to end the sequence before. This value will not show up in the result.",
"_py.range|param|step": "The value to increase or decrease by for each step in the range. Must be a nonzero integer",
"_py.range|param|stop": "The value to end the sequence before. This value will not show up in the result",
"_py.slice": "Returns a section of an array according to python's extended slice syntax",
"_py.stringSlice": "Returns a section of a string according to python's extended slice syntax",
"basic": "Provides access to basic micro:bit functionality.\n\nProvides access to basic micro:bit functionality.",
"basic.clearScreen": "Turn off all LEDs",
"basic.color": "Converts the color name to a number",
@ -256,6 +271,9 @@
"basic.turnRgbLedOff": "Sets the color on the build-in LED. Set to 0 to turn off.",
"console": "Reading and writing data to the console output.",
"console.addListener": "Adds a listener for the log messages",
"console.inspect": "Convert any object or value to a string representation",
"console.inspect|param|maxElements": "[optional] max number values in an object to include in output",
"console.inspect|param|obj": "value to be converted to a string",
"console.log": "Write a line of text to the console output.",
"console.logValue": "Write a name:value pair as a line of text to the console output.",
"console.logValue|param|name": "name of the value stream, eg: \"x\"",
@ -272,6 +290,7 @@
"control.eventTimestamp": "Gets the timestamp of the last event executed on the bus",
"control.eventValue": "Gets the value of the last event executed on the bus",
"control.eventValueId": "Returns the value of a C++ runtime constant",
"control.gcStats": "Get various statistics about the garbage collector (GC)",
"control.inBackground": "Schedules code that run in the background.",
"control.micros": "Gets current time in microseconds. Overflows every ~18 minutes.",
"control.millis": "Gets the number of milliseconds elapsed since power on.",
@ -282,12 +301,14 @@
"control.raiseEvent|param|src": "ID of the MicroBit Component that generated the event e.g. MICROBIT_ID_BUTTON_A.",
"control.raiseEvent|param|value": "Component specific code indicating the cause of the event.",
"control.reset": "Resets the BBC micro:bit.",
"control.runInParallel": "Run other code in the parallel.",
"control.runtimeWarning": "Display warning in the simulator.",
"control.waitForEvent": "Blocks the calling thread until the specified event is raised.",
"control.waitMicros": "Blocks the current fiber for the given microseconds",
"control.waitMicros|param|micros": "number of micro-seconds to wait. eg: 4",
"convertToText": "Convert any value to text",
"convertToText|param|value": "value to be converted to text",
"forever": "Repeats the code forever in the background. On each iteration, allows other codes to run.",
"game": "A single-LED sprite game engine",
"game.LedSprite": "A game sprite rendered as a single LED",
"game.LedSprite.blink": "Reports the ``blink`` duration of a sprite",
@ -439,6 +460,9 @@
"led.plot|param|x": "the horizontal coordinate of the LED starting at 0",
"led.plot|param|y": "the vertical coordinate of the LED starting at 0",
"led.point": "Get the on/off state of the specified LED using x, y coordinates. (0,0) is upper left.",
"led.pointBrightness": "Get the brightness state of the specified LED using x, y coordinates. (0,0) is upper left.",
"led.pointBrightness|param|x": "the horizontal coordinate of the LED",
"led.pointBrightness|param|y": "the vertical coordinate of the LED",
"led.point|param|x": "the horizontal coordinate of the LED",
"led.point|param|y": "the vertical coordinate of the LED",
"led.screenshot": "Takes a screenshot of the LED screen and returns an image.",
@ -454,6 +478,8 @@
"led.unplot": "Turn off the specified LED using x, y coordinates (x is horizontal, y is vertical). (0,0) is upper left.",
"led.unplot|param|x": "the horizontal coordinate of the LED",
"led.unplot|param|y": "the vertical coordinate of the LED",
"light.sendWS2812Buffer": "Sends a color buffer to a light strip",
"light.setMode": "Sets the light mode of a pin",
"motors": "Blocks to control the onboard motors",
"motors.dualMotorPower": "Controls two motors attached to the board. Switches to dual-motor mode!",
"motors.motorCommand": "Send break, coast or sleep commands to the motor. Has no effect in dual-motor mode.",
@ -464,15 +490,13 @@
"msgpack.unpackNumberArray": "Unpacks a buffer into a number array.",
"music": "Generation of music tones.",
"music.beat": "Returns the duration of a beat in milli-seconds",
"music.beginMelody": "Starts playing a melody.\nNotes are expressed as a string of characters with this format: NOTE[octave][:duration]",
"music.beginMelody|param|melodyArray": "the melody array to play",
"music.beginMelody|param|options": "melody options, once / forever, in the foreground / background",
"music.beginMelody": "Use startMelody instead",
"music.builtInMelody": "Gets the melody array of a built-in melody.",
"music.changeTempoBy": "Change the tempo by the specified amount",
"music.changeTempoBy|param|bpm": "The change in beats per minute to the tempo, eg: 20",
"music.melodyEditor": "Create a melody with the melody editor.",
"music.noteFrequency": "Get the frequency of a note.",
"music.noteFrequency|param|name": "the note name, eg: Note.C",
"music.noteFrequency": "Gets the frequency of a note.",
"music.noteFrequency|param|name": "the note name",
"music.onEvent": "Registers code to run on various melody events",
"music.playMelody": "Play a melody from the melody editor.",
"music.playMelody|param|melody": "- string of up to eight notes [C D E F G A B C5] or rests [-] separated by spaces, which will be played one at a time, ex: \"E D G F B A C5 B \"",
@ -487,14 +511,24 @@
"music.setPlayTone": "Sets a custom playTone function for playing melodies",
"music.setTempo": "Sets the tempo to the specified amount",
"music.setTempo|param|bpm": "The new tempo in beats per minute, eg: 120",
"music.setVolume": "Set the default output volume of the sound synthesizer.",
"music.setVolume|param|volume": "the volume 0...255",
"music.speakerPlayTone": "Plays a tone through ``speaker`` for the given duration.",
"music.speakerPlayTone|param|frequency": "pitch of the tone to play in Hertz (Hz)",
"music.speakerPlayTone|param|ms": "tone duration in milliseconds (ms)",
"music.startMelody": "Starts playing a melody.\nNotes are expressed as a string of characters with this format: NOTE[octave][:duration]",
"music.startMelody|param|melodyArray": "the melody array to play",
"music.startMelody|param|options": "melody options, once / forever, in the foreground / background",
"music.stopMelody": "Stops the melodies",
"music.stopMelody|param|options": "which melody to stop",
"music.tempo": "Returns the tempo in beats per minute. Tempo is the speed (bpm = beats per minute) at which notes play. The larger the tempo value, the faster the notes will play.",
"music.volume": "Returns the current output volume of the sound synthesizer.",
"parseFloat": "Convert a string to a number.",
"parseInt": "Convert a string to an integer.",
"parseInt": "Convert a string to an integer.\n\n\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.",
"parseInt|param|radix": "optional A value between 2 and 36 that specifies the base of the number in text.",
"parseInt|param|text": "A string to convert into an integral number. eg: \"123\"",
"pause": "Pause for the specified time in milliseconds",
"pause|param|ms": "how long to pause for, eg: 100, 200, 500, 1000, 2000",
"pins": "Control currents in Pins for analog/digital signals, servos, i2c, ...",
"pins.C10": "Pin C10",
"pins.C11": "Pin C11",
@ -513,18 +547,21 @@
"pins.P1": "Pin P1",
"pins.P2": "Pin P2",
"pins.P3": "Pin P3",
"pins.analogPitch": "Emit a pulse-width modulation (PWM) signal to the current pitch pin. Use `analog set pitch pin` to define the pitch pin.",
"pins.analogPitch": "Emit a plse-width modulation (PWM) signal to the current pitch pin. Use `analog set pitch pin` to define the pitch pin.",
"pins.analogPitchVolume": "Gets the volume the pitch pin from 0..255",
"pins.analogPitch|param|frequency": "frequency to modulate in Hz.",
"pins.analogPitch|param|ms": "duration of the pitch in milli seconds.",
"pins.analogReadPin": "Read the connector value as analog, that is, as a value comprised between 0 and 1023.",
"pins.analogReadPin|param|name": "of pin to read from, eg: AnalogPin.P1",
"pins.analogReadPin|param|name": "pin to write to, eg: AnalogPin.P0",
"pins.analogSetPeriod": "Configure the pulse-width modulation (PWM) period of the analog output in microseconds.\nIf this pin is not configured as an analog output (using `analog write pin`), the operation has no effect.",
"pins.analogSetPeriod|param|micros": "period in micro seconds. eg:20000",
"pins.analogSetPeriod|param|name": "analog pin to set period to, eg: AnalogPin.P1",
"pins.analogSetPeriod|param|name": "analog pin to set period to, eg: AnalogPin.P0",
"pins.analogSetPitchPin": "Set the pin used when using analog pitch or music.",
"pins.analogSetPitchPin|param|name": "pin to modulate pitch from",
"pins.analogSetPitchVolume": "Sets the volume on the pitch pin",
"pins.analogSetPitchVolume|param|volume": "the intensity of the sound from 0..255",
"pins.analogWritePin": "Set the connector value as analog. Value must be comprised between 0 and 1023.",
"pins.analogWritePin|param|name": "of pin to write to, eg: AnalogPin.P1",
"pins.analogWritePin|param|name": "pin name to write to, eg: AnalogPin.P0",
"pins.analogWritePin|param|value": "value to write to the pin between ``0`` and ``1023``. eg:1023,0",
"pins.createBuffer": "Create a new zero-initialized buffer.",
"pins.createBuffer|param|size": "number of bytes in the buffer",
@ -550,17 +587,18 @@
"pins.pulseIn": "Return the duration of a pulse at a pin in microseconds.",
"pins.pulseIn|param|name": "the pin which measures the pulse, eg: DigitalPin.P0",
"pins.pulseIn|param|value": "the value of the pulse, eg: PulseValue.High",
"pins.pushButton": "Mounts a push button on the given pin",
"pins.servoSetContinuous": "Specifies that a continuous servo is connected.",
"pins.servoSetPulse": "Configure the IO pin as an analog/pwm output and set a pulse width. The period is 20 ms period and the pulse width is set based on the value given in **microseconds** or `1/1000` milliseconds.",
"pins.servoSetPulse|param|micros": "pulse duration in micro seconds, eg:1500",
"pins.servoSetPulse|param|name": "pin name",
"pins.servoWritePin": "Write a value to the servo, controlling the shaft accordingly. On a standard servo, this will set the angle of the shaft (in degrees), moving the shaft to that orientation. On a continuous rotation servo, this will set the speed of the servo (with ``0`` being full-speed in one direction, ``180`` being full speed in the other, and a value near ``90`` being no movement).",
"pins.servoWritePin|param|name": "pin to write to, eg: AnalogPin.P1",
"pins.servoWritePin|param|name": "pin to write to, eg: AnalogPin.P0",
"pins.servoWritePin|param|value": "angle or rotation speed, eg:180,90,0",
"pins.setEvents": "Configure the events emitted by this pin. Events can be subscribed to\nusing ``control.onEvent()``.",
"pins.setEvents|param|name": "pin to set the event mode on, eg: DigitalPin.P0",
"pins.setEvents|param|type": "the type of events for this pin to emit, eg: PinEventType.Edge",
"pins.setPull": "Configure the pull direction of of a pin.",
"pins.setPull": "Configure the pull directiion of of a pin.",
"pins.setPull|param|name": "pin to set the pull mode on, eg: DigitalPin.P0",
"pins.setPull|param|pull": "one of the mbed pull configurations, eg: PinPullMode.PullUp",
"pins.spiFormat": "Set the SPI bits and mode",
@ -569,8 +607,14 @@
"pins.spiFrequency": "Set the SPI frequency",
"pins.spiFrequency|param|frequency": "the clock frequency, eg: 1000000",
"pins.spiPins": "Set the MOSI, MISO, SCK pins used by the SPI connection",
"pins.spiTransfer": "Write to and read from the SPI slave at the same time",
"pins.spiTransfer|param|command": "Data to be sent to the SPI slave (can be null)",
"pins.spiTransfer|param|response": "Data received from the SPI slave (can be null)",
"pins.spiWrite": "Write to the SPI slave and return the response",
"pins.spiWrite|param|value": "Data to be sent to the SPI slave",
"randint": "Returns a pseudorandom number between min and max included.\nIf both numbers are integral, the result is integral.",
"randint|param|max": "the upper inclusive bound, eg: 10",
"randint|param|min": "the lower inclusive bound, eg: 0",
"serial": "Reading and writing data over a serial connection.",
"serial.NEW_LINE": "The string used to mark a new line, default is \\r\\n",
"serial.delimiters": "Return the corresponding delimiter string",
@ -587,6 +631,7 @@
"serial.redirect|param|rate": "the new baud rate. eg: 115200",
"serial.redirect|param|rx": "the new reception pin, eg: SerialPin.P1",
"serial.redirect|param|tx": "the new transmission pin, eg: SerialPin.P0",
"serial.setBaudRate": "Set the baud rate of the serial port",
"serial.setRxBufferSize": "Sets the size of the RX buffer in bytes",
"serial.setRxBufferSize|param|size": "length of the rx buffer in bytes, eg: 32",
"serial.setTxBufferSize": "Sets the size of the TX buffer in bytes",

View File

@ -7,12 +7,16 @@
"AcceleratorRange.OneG|block": "1g",
"AcceleratorRange.TwoG": "The accelerator measures forces up to 2 gravity",
"AcceleratorRange.TwoG|block": "2g",
"Array._popStatement|block": "remove last value from %list",
"Array._removeAtStatement|block": "%list| remove value at %index",
"Array._shiftStatement|block": "remove first value from %list",
"Array._unshiftStatement|block": "%list| insert %value| at beginning",
"Array.indexOf|block": "%list| find index of %value",
"Array.insertAt|block": "%list| insert at %index| value %value",
"Array.length|block": "length of %VALUE",
"Array.pop|block": "get and remove last value from %list",
"Array.push|block": "%list| add value %value| to end",
"Array.removeAt|block": "%list| remove value at %index",
"Array.removeAt|block": "%list| get and remove value at %index",
"Array.reverse|block": "reverse %list",
"Array.shift|block": "get and remove first value from %list",
"Array.unshift|block": "%list| insert %value| at beginning",
@ -55,12 +59,17 @@
"Colors.Violet|block": "violet",
"Colors.White|block": "white",
"Colors.Yellow|block": "yellow",
"Delimiters.CarriageReturn|block": "carriage return (\r)",
"Delimiters.Colon|block": ":",
"Delimiters.Comma|block": ",",
"Delimiters.Dollar|block": "$",
"Delimiters.Fullstop|block": ".",
"Delimiters.Hash|block": "#",
"Delimiters.NewLine|block": "new line",
"Delimiters.NewLine|block": "new line (\n)",
"Delimiters.Pipe|block": "|",
"Delimiters.SemiColon|block": ";",
"Delimiters.Space|block": "space",
"Delimiters.Tab|block": "tab (\t)",
"Dimension.Strength|block": "strength",
"Dimension.X|block": "x",
"Dimension.Y|block": "y",
@ -152,7 +161,7 @@
"Melodies.Chase|block": "chase",
"Melodies.Dadadadum|block": "dadadum",
"Melodies.Entertainer|block": "entertainer",
"Melodies.Funeral|block": "funereal",
"Melodies.Funeral|block": "funeral",
"Melodies.Funk|block": "funk",
"Melodies.JumpDown|block": "jump down",
"Melodies.JumpUp|block": "jump up",
@ -241,6 +250,7 @@
"String.split|block": "split %this=text|at %separator",
"String.substr|block": "substring of %this=text|from %start|of length %length",
"String|block": "String",
"_py|block": "_py",
"basic.clearScreen|block": "clear screen",
"basic.color|block": "%c",
"basic.forever|block": "forever",
@ -295,7 +305,7 @@
"game.setScore|block": "set score %points",
"game.startCountdown|block": "start countdown|(ms) %duration",
"game|block": "game",
"images.arrowImage|block": "arrow image %i=device_arrow",
"images.arrowImage|block": "arrow image %i",
"images.arrowNumber|block": "%arrow",
"images.createBigImage|block": "create big image",
"images.createImage|block": "create image",
@ -324,6 +334,7 @@
"led.plotBarGraph|block": "plot bar graph of %value up to %high",
"led.plotBrightness|block": "plot|x %x|y %y|brightness %brightness",
"led.plot|block": "plot|x %x|y %y",
"led.pointBrightness|block": "point|x %x|y %y brightness",
"led.point|block": "point|x %x|y %y",
"led.setBrightness|block": "set brightness %value",
"led.setDisplayMode|block": "set display mode $mode",
@ -331,13 +342,13 @@
"led.toggle|block": "toggle|x %x|y %y",
"led.unplot|block": "unplot|x %x|y %y",
"led|block": "led",
"light|block": "light",
"motors.dualMotorPower|block": "motor %motor|at %percent \\%",
"motors.motorCommand|block": "motor %command",
"motors.motorPower|block": "motor on at %percent \\%",
"motors|block": "motors",
"msgpack|block": "msgpack",
"music.beat|block": "%fraction|beat",
"music.beginMelody|block": "start melody %melody=device_builtin_melody| repeating %options",
"music.builtInMelody|block": "%melody",
"music.changeTempoBy|block": "change tempo by (bpm)|%value",
"music.melodyEditor|block": "$melody",
@ -348,15 +359,20 @@
"music.rest|block": "rest(ms)|%duration=device_beat",
"music.ringTone|block": "ring tone (Hz)|%note=device_note",
"music.setTempo|block": "set tempo to (bpm)|%value",
"music.setVolume|block": "set volume %volume",
"music.startMelody|block": "start melody %melody=device_builtin_melody| repeating %options",
"music.stopMelody|block": "stop melody $options",
"music.tempo|block": "tempo (bpm)",
"music.volume|block": "volume",
"music|block": "music",
"parseFloat|block": "parse to number %text",
"parseInt|block": "parse to integer %text",
"pins.analogPitchVolume|block": "analog pitch volume",
"pins.analogPitch|block": "analog pitch %frequency|for (ms) %ms",
"pins.analogReadPin|block": "analog read|pin %name",
"pins.analogSetPeriod|block": "analog set period|pin %pin|to (µs)%micros",
"pins.analogSetPitchPin|block": "analog set pitch pin %name",
"pins.analogSetPitchVolume|block": "analog set pitch volume $volume",
"pins.analogWritePin|block": "analog write|pin %name|to %value",
"pins.digitalReadPin|block": "digital read|pin %name",
"pins.digitalWritePin|block": "digital write|pin %name|to %value",
@ -375,6 +391,7 @@
"pins.spiPins|block": "spi set pins|MOSI %mosi|MISO %miso|SCK %sck",
"pins.spiWrite|block": "spi write %value",
"pins|block": "pins",
"randint|block": "pick random %min|to %limit",
"serial.delimiters|block": "%del",
"serial.onDataReceived|block": "serial|on data received %delimiters=serial_delimiter_conv",
"serial.readBuffer|block": "serial|read buffer %length",
@ -383,6 +400,7 @@
"serial.readUntil|block": "serial|read until %delimiter=serial_delimiter_conv",
"serial.redirectToUSB|block": "serial|redirect to USB",
"serial.redirect|block": "serial|redirect to|TX %tx|RX %rx|at baud rate %rate",
"serial.setBaudRate|block": "serial|set baud rate %rate",
"serial.setRxBufferSize|block": "serial set rx buffer size to $size",
"serial.setTxBufferSize|block": "serial set tx buffer size to $size",
"serial.setWriteLinePadding|block": "serial set write line padding to $length",
@ -411,6 +429,7 @@
"{id:category}Images": "Images",
"{id:category}Input": "Input",
"{id:category}Led": "Led",
"{id:category}Light": "Light",
"{id:category}Math": "Math",
"{id:category}MicrobitPin": "MicrobitPin",
"{id:category}Motors": "Motors",
@ -422,5 +441,15 @@
"{id:category}PwmOnlyPin": "PwmOnlyPin",
"{id:category}Serial": "Serial",
"{id:category}String": "String",
"{id:category}Text": "Text"
"{id:category}Text": "Text",
"{id:category}_py": "_py",
"{id:group}Configuration": "Configuration",
"{id:group}Melody": "Melody",
"{id:group}Melody Advanced": "Melody Advanced",
"{id:group}Modify": "Modify",
"{id:group}Operations": "Operations",
"{id:group}Read": "Read",
"{id:group}Tempo": "Tempo",
"{id:group}Tone": "Tone",
"{id:group}Volume": "Volume"
}