Saltar al contenido principal

Music Tracker

Con el Music Tracker compones la música del juego. Una canción es una lista de filas que suenan una detrás de otra, de arriba abajo. Cada fila tiene una columna por canal (cuatro de tono y uno de ruido) y una de comandos. Las notas suenan con los instrumentos de la canción, cada uno con su onda, su volumen, su envolvente y sus LFO.

Edita los ficheros .jms de la carpeta Music. Al compilar, el IDE los convierte en los .jmu que carga el módulo Sound. El editor de escenas también los usa: cada sala puede tener su música.

Se abre de tres maneras:

  • New Music, en el menú del explorador (clic derecho) o en su barra de botones, o New, en la barra del tracker. Te pide una plantilla y un nombre, crea el .jms y lo abre. Lo crea en Music, o en la carpeta que tengas elegida en el explorador.
  • Doble clic en un .jms del explorador.
  • Home › View › Music, en la cinta: enseña la ventana del tracker (Music Editor), con las canciones que ya tengas abiertas.

Cada canción se abre en su pestaña, y puedes tener varias abiertas. La pestaña lleva un * mientras hay cambios sin guardar.

El Music Tracker tocando la canción Launch de AuroraBreach: la rejilla con los canales Tone 0 a Tone 3 y Noise y la columna Cmd, el teclado y la tabla de instrumentos
¿Prefieres un paso a paso?

El tutorial Tu primera melodía chiptune recorre el editor con capturas: crear la canción a partir de una plantilla, escribir notas en la rejilla, retocar un instrumento y reproducirla desde el juego.

Un recorrido​

Una melodía corta que suena en bucle en el juego.

  1. Crea la canción. En el explorador, clic derecho en Music › New Music. Elige la plantilla Chiptune lead y pulsa OK. Escribe el nombre, por ejemplo Tema, y acepta: el IDE crea Music/Tema.jms y la abre en el tracker.
  2. Escúchala. Pulsa F5. La fila que suena sale en verde, y los medidores de la barra de estado se mueven con cada canal. F8 la para.
  3. Haz sitio. Haz clic en la fila 007 y pulsa Ins cuatro veces: salen cuatro filas vacías debajo.
  4. Graba notas. Pulsa REC. Haz clic en la celda Note de Tone 0, en la fila 008, y pulsa E, W, Q y W. El tracker escribe E-4, D-4, C-4 y D-4 con el instrumento 00, el que está elegido en KEYBOARD, y baja una fila con cada nota. Pulsa REC otra vez para dejar de grabar.
  5. Vuelve a escucharla con F5. La plantilla trae Loop song encendido: al llegar al END de la última fila, la canción vuelve a la fila 000.
  6. Guarda con Ctrl+S. Mientras hay cambios sin guardar, el botón dice Save ●.
  7. Ponla en el juego. En una sala del editor de escenas, elígela en Room › Music (lo cuenta La sala y el juego). En un juego de código, cárgala con Sound.loadMusic("Music/Tema.jmu"): mira «Con el código», más abajo. El .jmu lo crea el IDE al compilar.

Las plantillas​

New Music empieza por elegir una plantilla, en el diálogo New music — pick a template:

PlantillaQué traeTempo (ms)Row ticksLoop song
EmptyUna sola fila, con END.728No
Basic 4/4 beatOcho filas que alternan un C-2 en Tone 0 y la caja en Noise.728Sí
Chiptune leadLa escala de Do mayor, de C-4 a C-5, en Tone 0, con un bajo en Tone 1 y otra voz en Tone 2.726Sí
Battle themeUn ostinato rápido en Tone 0, con bajo y caja.484Sí

Las cuatro traen los mismos instrumentos: 0 Pulse (onda pulse), 1 Bass (triangle), 2 Lead (saw) y 3 Snare (ruido white, un golpe corto). Volume es 185, salvo en Battle theme, que es 200. Todo se puede cambiar después.

Herramientas​

BotónQué haceTecla
NewCrea una canción: lo mismo que New Music en el explorador.
MIDIImporta un fichero MIDI en la canción abierta (mira «Importar un MIDI», más abajo).
ValidateComprueba las celdas y compila la canción, sin guardarla. Si todo va bien, la barra de estado dice cuánto ocupa compilada (valid - 170 bytes); si no, un mensaje dice qué falla.F9
SaveGuarda el .jms. Con cambios sin guardar dice Save ●; sin cambios, está apagado.Ctrl+S
Close TabCierra la pestaña. Si hay cambios, te pregunta si los guardas.
▶ (Play)Toca la canción desde la fila de inicio: la 000, o la que marques en azul. Si hay celdas en rojo, no toca, y la barra de estado dice cuántas hay.F5
❚❚ (Pause)Pausa la canción; la segunda vez, sigue.F6
■ (Stop)Para la canción.F8
RECGraba: las notas que tocas con el teclado se escriben en la rejilla (mira «Escribir notas»).
Insertar filaInserta una fila vacía debajo del cursor.Ins
Borrar filasBorra las filas elegidas. Siempre queda una.Shift+Supr
Duplicar filasCopia las filas elegidas justo debajo.Ctrl+D
Pitch + y Pitch -Suben o bajan un semitono las notas elegidas de los canales de tono. No tocan el ruido.Shift+↑ y Shift+↓
+12 y -12Lo mismo, una octava.Shift+Re Pág y Shift+Av Pág
PianoLa octava por la que empieza el teclado de la pantalla, de 0 a 3.Ctrl+← y Ctrl+→

Play, Pause, Stop y los tres botones de filas son iconos: su pista dice qué hacen. Al subir o bajar notas, las que pasarían de 0 o de 127 se quedan en el límite.

La rejilla​

Filas y tiempo​

La canción suena de arriba abajo, fila a fila, hasta un END o hasta la última fila. Todas las filas duran lo mismo: Row ticks ticks de Tempo (ms) milisegundos. Con 8 ticks de 72 ms, cada fila dura 576 ms. Si Loop song está encendido, al acabar vuelve a la fila Loop row.

Cada cuatro filas, una sale más clara, y cada ocho, más todavía: sirven de guía para contar compases. Durante Play, la fila que suena sale en verde y la rejilla la sigue. Doble clic en el número de una fila la marca en azul: Play empieza ahí.

Los canales​

CanalQué tocaSus instrumentos
Tone 0 a Tone 3Notas, con onda square, triangle, saw, pulse o sine.De tipo tone.
NoiseRuido: percusión y efectos.De tipo noise.

Cada canal toca una nota a la vez: para un acorde, pon cada nota en un canal.

Los botones M y S de la cabecera de cada canal lo silencian (M) o lo dejan sonar solo (S): si hay alguno en S, suenan solo esos. Sirven para escuchar una línea suelta, y no se guardan. Alt+1 a Alt+4 y Shift+Alt+1 a Shift+Alt+4 hacen lo mismo con Tone 0 a Tone 3.

Las celdas​

Cada canal tiene cuatro columnas:

ColumnaQué lleva
NoteLa nota, con su nombre en inglés y su octava: C-4, F#3. Las naturales llevan -, y C-4 es la nota MIDI 60. También vale el número MIDI, de 0 a 127. OFF corta la nota que suena, y --- es nada. En Noise, el periodo del ruido, de N01 a N255: N01 es el más agudo y, cuanto más alto, más grave.
InstEl instrumento, por su Id. Vacía (..), el canal sigue con el que tenía.
VolEl volumen de la nota, de 0 a 255. Vacía, el canal sigue con el volumen que tenía: el último Vol, o el del instrumento si lo acabas de cambiar.
DurCuánto dura la nota, con un código de 01 a 15, contado desde el principio de la fila. Vacía, la nota sigue hasta la siguiente nota o un OFF del mismo canal.

Los códigos de Dur 01 a 06 son de 1 a 6 ticks; 07 son 8; 08, 10; 09, 12; 10, 16; 11, 20; 12, 24; 13, 32; 14, 48, y 15, 64. Una nota larga puede pasar de su fila a las siguientes.

Lo que está mal escrito sale subrayado en rojo, y la barra de estado dice cuántos errores hay (● 2 errors). Con errores, Play no toca.

La columna Cmd​

Cmd lleva comandos para toda la canción. La celda despliega una lista de ejemplos: elige uno y cambia los números. Puedes poner varios en una celda, separados por ;, y retrasar uno dentro de la fila con @ y el tick: TEMPO 60; @4 VOL 120 cambia el tempo al empezar la fila y el volumen cuatro ticks después. El tick va de 0 a Row ticks menos uno.

ComandoQué haceValores
ENDAcaba la canción. Con Loop song, vuelve a Loop row. Las filas de debajo no suenan.
TEMPO msCambia Tempo (ms) desde ahí.1 a 255
VOL vCambia el volumen general.0 a 255
STOPALLPara todos los canales.
TRANSPOSE nDesde ahí, las notas de los canales de tono suenan n semitonos más arriba, o más abajo si es negativo. TRANSPOSE 0 lo quita.-128 a 127
CHSTOP cPara el canal c: del 0 al 3 son los de tono, y el 4, el de ruido.0 a 4
DUTY c vCambia el duty de la onda pulse del canal c.c: 0 a 3; v: 1 a 99
TSLIDE c destino ticksDesliza la nota que suena en el canal c hasta destino en esos ticks. El destino es una nota (C-5), un número MIDI o una frecuencia (440hz, 65.406hz).c: 0 a 3; ticks: 0 a 255
NMODE modoCambia el modo del ruido: white, periodic, short o dark.
NENV ticksEn el ruido, cuánto tarda en apagarse cada golpe, si su instrumento no tiene envolvente.0 a 255
NSLIDE periodo ticksDesliza el periodo del ruido hasta periodo en esos ticks.periodo: 1 a 255; ticks: 0 a 255
NPER periodoCambia el periodo del ruido.1 a 255

Escribir notas​

Hay dos maneras:

  • Con el teclado. Pulsa REC y pon el cursor en una celda Note. Cada tecla escribe su nota, pone en Inst el instrumento elegido en KEYBOARD y baja una fila. Sin REC, las teclas solo suenan.
    • Las teclas son las de un piano: Z X C V B N M son las blancas de una octava, y S D G H J, las negras; Q W E R T Y U y 2 3 5 6 7, la octava de encima.
    • La octava es la de Input oct, en la barra de estado: Ctrl+↑ y Ctrl+↓ la cambian, de 0 a 7. Con 3, la de serie, Z es C-3 y Q, C-4.
    • En Noise, las teclas escriben periodos: de N01 (la Z) a N12 (la M).
    • Si el instrumento de KEYBOARD no es del tipo del canal (uno de ruido en Tone 0, por ejemplo), la nota se escribe sin instrumento, y la barra de estado lo avisa.
    • 1 escribe OFF y Retroceso vacía la nota (---). Los dos bajan una fila, con REC o sin él.
    • Hacer clic en una tecla del teclado de la pantalla es como pulsarla.
  • Escribiendo el texto. Pulsa F2 en una celda (o, sin REC, haz clic en la celda que ya está elegida), escribe y pulsa Intro. Así se escriben Inst, Vol, Dur y Cmd. Si tienes elegidas varias filas de esa columna, el valor va a todas.

Elegir, copiar y deshacer​

  • Haz clic en el número de una fila para elegirla entera; con Shift, eliges desde la fila del cursor hasta esa. Arrastrando por las celdas, eliges un rectángulo.
  • Supr vacía las celdas elegidas. Ctrl+C, Ctrl+X y Ctrl+V copian, cortan y pegan como texto separado por tabuladores. Lo pegado empieza en el cursor, y si no cabe, se añaden filas al final.
  • Ctrl+F5 toca en bucle las filas elegidas. Con una sola fila elegida, toca la canción entera.
  • Ctrl+Z deshace y Ctrl+Y (o Ctrl+Shift+Z) rehace, hasta 99 pasos por pestaña: notas, filas, instrumentos y ajustes.

Paneles y opciones​

SONG SETTINGS​

CampoQué es
Tempo (ms)Lo que dura un tick, en milisegundos, de 1 a 255. Cuanto más bajo, más rápido va la canción.
VolumeEl volumen general de la canción, de 0 a 255.
Row ticksCuántos ticks dura cada fila, de 1 a 65535.
Loop songCon enabled marcado, al llegar a END (o a la última fila) la canción vuelve a Loop row y no se acaba. Ctrl+L lo cambia.
Loop rowLa fila desde la que vuelve a empezar.
Copy ms (seekMusic)Copia al portapapeles en qué milisegundo empieza la fila del cursor, para Sound.seekMusic (mira «Con el código»). Cuenta los TEMPO de la columna Cmd.

Debajo, una chuleta con los atajos.

KEYBOARD​

El teclado de la pantalla abarca seis octavas, desde el Do de Piano: con 3, el de serie, de C3 a C9. < y > lo mueven una octava. Haz clic en una tecla para oírla; con REC, también la escribe. Las teclas que tocas con el teclado del ordenador llevan escrita su letra, y durante Play se encienden las notas que suenan en los canales de tono.

La lista que hay junto a < y > elige el instrumento: el que suena al tocar las teclas y el que escribe REC.

INSTRUMENTS​

La tabla de los instrumentos de la canción. Puedes escribir en sus celdas, como en la rejilla; Type y Wave/Mode despliegan sus valores.

ColumnaQué es
IdEl número del instrumento, de 0 a 255: el que escribes en Inst.
NameSu nombre.
Typetone, para Tone 0 a Tone 3, o noise, para Noise.
Wave/ModeEn los tone, la onda: square, triangle, saw, pulse o sine. En los noise, el modo: white (ruido blanco), periodic (un dibujo corto que se repite: suena casi a nota), short (suena metálico) o dark (ruido blanco suavizado: más apagado).
VolumeSu volumen, de 0 a 255.
DutyEl ancho del pulso, de 1 a 99. Solo cuenta con la onda pulse.
Atk ms, Dec ms, Sus % y Rel msLa envolvente ADSR (mira Edit instrument, abajo). Sus % va de 0 a 255, no en porcentaje.
Vib Dep, Vib dHz y Vib dlyEl vibrato: la profundidad, de 0 a 255; la velocidad, en décimas de hercio, y el retardo, en ms. Solo tone.
PWM d:r:dlyUn LFO del duty: profundidad, velocidad y retardo, separados por :. Solo tone, y solo se oye con pulse.
Trm d:r:dlyEl trémolo, un LFO del volumen, igual. En tone y en noise.
SlideSolo noise: destino:ticks. Cada golpe desliza su periodo hasta el destino en esos ticks.
TestHaz clic en > para oírlo: toca C-4, o N08 en los de ruido.

Los botones de la cabecera:

  • Edit abre el instrumento elegido en Edit instrument.
  • Add añade uno: Instrument y su número, de tipo tone, con onda pulse.
  • Dup copia el elegido, con un Id nuevo y copy al final del nombre.
  • Del borra el elegido. Si alguna celda lo usa, te avisa antes: esas celdas se quedan con su Id, que ya no existe, y la canción no compila hasta que las cambies. Una canción tiene que tener por lo menos un instrumento.

Los Id no se reutilizan ni se renumeran: uno nuevo es el más alto más uno, y las celdas Inst siguen apuntando al mismo instrumento.

Edit instrument​

Edit abre el instrumento en un diálogo con los mismos valores, a la vista y con prueba de sonido. Lo que cambias suena en cuanto tocas una tecla, y pasa a la tabla al pulsar OK. Cancel, o Esc, lo deja como estaba.

El diálogo Edit instrument con un instrumento de tipo tone y onda saw: el preset, el oscilador, la envolvente ADSR, los LFO y el teclado de prueba
  • Preset: una familia de General MIDI (de Piano a Sound Effects, y Percussion (Drums) para los de ruido) y, en la lista de al lado, uno de sus instrumentos. Al elegirlo, el diálogo carga su sonido como punto de partida. Conserva el Id y tu nombre; si el instrumento aún tiene el nombre de serie, toma el del preset.
  • Name, Type y Wave: el nombre, tone o noise, y la onda (en los de ruido, el modo).
  • OSCILLATOR: el dibujo de la onda y dos ruedas, Volume (0 a 255) y Duty (1 a 99; no sale en los de ruido).
  • ENVELOPE: la envolvente ADSR. Atk ms es lo que tarda la nota en subir; Dec ms, lo que tarda en bajar hasta Sus 0-255, el nivel que mantiene mientras sigue (255 es todo su volumen), y Rel ms, lo que tarda en apagarse al cortarla. Arrastra los puntos de la gráfica (hasta 4 segundos por tramo) o escribe en las casillas (hasta 65535 ms). Con las cuatro a 0, no hay envolvente: una nota de tono suena igual de fuerte hasta que se corta.
  • VIBRATO LFO (en los tone): arrastra por la banda: arriba y abajo cambia la profundidad, y a los lados, la velocidad, hasta 12 Hz. O escribe en Depth, Rate (en décimas de hercio) y Delay (en ms).
  • NOISE SLIDE (en los noise, en el sitio del vibrato): Target y Ticks, el Slide de la tabla.
  • PWM LFO (duty, pulse) (en los tone) y TREMOLO LFO (amplitude): Dep, Rate y Dly, como el vibrato. El PWM, a fondo, mueve el duty 40 puntos arriba y abajo; el trémolo, a fondo, baja el volumen hasta el silencio.
  • PREVIEW: un teclado de dos octavas, de C-3 a B-4. Haz clic y arrastra por las teclas. Test toca C-4 (o N08, en los de ruido) y Stop la suelta.

La barra de estado​

  • A la izquierda: la fila del cursor y la última, el canal y la columna, la nota que hay (con su número MIDI), Cursor (el milisegundo en que empieza la fila), el tempo, Input oct (la octava del teclado del ordenador) y Piano view (la del teclado de la pantalla).
  • En el centro: un medidor por canal, de CH0 a CH3 y NSE, el ruido.
  • A la derecha: el estado. ● ok o los errores, ► playing @ 22kHz, ■ stopped, el tamaño tras Validate…

El tracker suena a la frecuencia del perfil de placa activo, 22 kHz o 44 kHz (22 kHz si no hay ninguno), para que oigas lo que sonará en esa placa. Lo explica Sound.

Importar un MIDI​

MIDI convierte un fichero .mid o .midi en filas del tracker. Antes, abre la canción donde quieres meterlo: la importación sustituye todo lo que tiene.

  1. Pulsa MIDI y elige el fichero.
  2. El diálogo Import MIDI dice qué trae (el tipo de MIDI, las pistas, las notas, los cambios de tempo) y enseña sus 16 canales: cuántas notas tiene cada uno (Notes), entre qué notas va (Range) y el número de su instrumento General MIDI (Program). Ajusta las opciones.
  3. Preview toca el resultado sin importarlo, y Stop preview lo para.
  4. Pulsa Import. Al acabar, un resumen dice cuántas notas y golpes de percusión han entrado y cuántos se han quedado fuera.
OpciónQué haceDe serie
QuantizationEl paso de la rejilla: 1/8, 1/16 o 1/32, que son dos, cuatro u ocho filas por negra. Cada nota empieza y acaba en la fila más cercana.1/16
Voice strategyCómo reparte entre los cuatro canales de tono las notas que suenan a la vez. Balanced voices elige en cada fila las mejores: primero las del mismo canal MIDI que la nota anterior de ese canal, y después las largas, las fuertes y las cercanas. First 4 voices coge las cuatro primeras. By MIDI channel da un canal de tono a cada uno de los cuatro canales MIDI con más notas.Balanced voices
Master volumeVolume de la canción.El de la canción abierta
Import MIDI drumsPasa la percusión al canal de ruido.Sí
Loop imported songLoop song. Sin él, pone un END al final.El de la canción abierta
Apply sustain pedalMantiene las notas mientras el pedal está pisado.Sí
Import pitch bend as slidesConvierte el pitch bend en comandos TSLIDE.Sí
Import modulation as vibratoDa un vibrato al instrumento de los canales que usan la rueda de modulación.Sí
TargetA dónde va cada canal MIDI: Auto (lo decide Voice strategy), Ignore, Tone 0 a Tone 3 o Noise Drums.Auto; el canal 10, Noise Drums

Lo que crea:

  • Filas de 4 ticks, con el tempo del MIDI. Los cambios de tempo van como TEMPO en la fila donde caen, uno por fila como mucho.
  • Un instrumento tone por cada instrumento General MIDI que suena, con su nombre. Su Id es el número del programa, de 0 a 127. La percusión usa instrumentos noise del 128 al 138 (MIDI Kick, MIDI Snare…), solo los que suenan.
  • El volumen de cada nota, de su velocidad y de los controles de volumen del MIDI (CC7 y CC11).

Sus límites:

  • Solo MIDI de tipo 0 y 1, con el tiempo en pulsos por negra: los que lo llevan en SMPTE no se importan.
  • Cuatro notas a la vez en los canales de tono y un golpe por fila en el de ruido. Lo demás se queda fuera.
  • Como mucho, 8192 filas.
  • El tick va de 1 a 255 ms: un tempo que no cabe se queda en el límite.
  • La modulación pasa a un vibrato fijo del instrumento, y el pitch bend, a deslizamientos: se parecen al original, pero no son iguales.
La importación sustituye la canción

Las filas, los instrumentos y los ajustes de la pestaña se cambian por los del MIDI. No se guarda hasta que pulsas Save, y Ctrl+Z la deshace.

Lo que guarda y lo que genera​

Save guarda la canción en su .jms, un fichero JSON. Home › Project › Save, en la cinta, también guarda las canciones abiertas que tengan cambios.

Campo del .jmsQué es
version, format1 y "tracker".
tickMs, volume, rowTicksTempo (ms), Volume y Row ticks.
loop, loopStartRowLoop song y Loop row.
instrumentsLos instrumentos, con id, name, type y volume; wave y duty, o noiseMode; y, si los tienen, la envolvente (attackMs, decayMs, sustain y releaseMs), los LFO (vibratoDepth, vibratoRate y vibratoDelay, y lo mismo con pwm y tremolo) y el slide del ruido (slideTargetPeriod y slideTicks).
rowsUna entrada por fila: ch0 a ch3 y noise, con note (el número MIDI; en el ruido, period) u off, inst, volume y dur; y cmds, sus comandos, cada uno con su tick.

Si un .jms no se puede leer como canción del tracker, el tracker lo avisa y abre en su lugar una canción de serie. Si la guardas, sustituye al fichero.

Al compilar (Build › Compile, y también el Play del editor de escenas si ha cambiado algún recurso), el IDE convierte cada .jms del proyecto en un .jmu, en Build/flash y con la misma ruta: Music/Tema.jms acaba en Build/flash/Music/Tema.jmu. Convierte todas las canciones, las use o no el juego, y antes borra lo que hubiera en Build/flash/Music.

El .jmu es lo que carga la VM: una cabecera (la versión, Loop song, el tempo, el volumen y, con bucle, dónde vuelve), la tabla de instrumentos (26 bytes cada uno) y las notas y los comandos, muy compactos. No puede pasar de 65535 bytes. Validate te dice cuánto ocupa.

En el Output sale cada canción que se exporta, con su tamaño. Una canción con un error para la compilación de todo el proyecto, y el Output dice cuál y qué falla; por ejemplo, «row 3 ch0: instrument 7 does not exist» (la fila es la del tracker).

Guarda antes de compilar

Al compilar, el IDE lee el .jms del disco: Compile no guarda el tracker. Lo que no has guardado no llega al juego. Validate, en cambio, compila lo que ves, sin guardarlo.

Atajos​

AtajoQué hace
Ctrl+SGuarda la canción.
F9Validate.
F5Toca la canción desde la fila de inicio.
Ctrl+F5Toca en bucle las filas elegidas.
F6Pausa, o sigue.
F8Para.
Ctrl+ZDeshace.
Ctrl+Y o Ctrl+Shift+ZRehace.
Ctrl+LEnciende o apaga Loop song.
InsInserta una fila vacía debajo del cursor.
Shift+SuprBorra las filas elegidas.
Ctrl+DDuplica las filas elegidas.
SuprVacía las celdas elegidas.
Ctrl+C, Ctrl+X y Ctrl+VCopian, cortan y pegan celdas.
Shift+↑ y Shift+↓Suben o bajan un semitono las notas elegidas.
Shift+Re Pág y Shift+Av PágSuben o bajan una octava las notas elegidas.
Ctrl+↑ y Ctrl+↓Suben o bajan la octava del teclado del ordenador (Input oct, de 0 a 7).
Ctrl+← y Ctrl+→Mueven el teclado de la pantalla (Piano, de 0 a 3).
Alt+1 a Alt+4Silencian Tone 0 a Tone 3 (M).
Shift+Alt+1 a Shift+Alt+4Dejan sonar solo Tone 0 a Tone 3 (S).
Z S X D C V G B H N J MUna octava de notas, desde el Do de Input oct.
Q 2 W 3 E R 5 T 6 Y 7 ULa octava de encima.
1, en una celda NoteEscribe OFF y baja una fila.
Retroceso, en una celda NoteVacía la nota y baja una fila.
F2Abre la celda para escribir en ella.
Clic en el número de una filaElige la fila entera; con Shift, desde la fila del cursor.
Doble clic en el número de una filaLa marca en azul: Play empieza ahí.
Esc, en Edit instrumentCancela.

Las teclas funcionan con la ventana del tracker activa. Las de las notas, 1, Retroceso, Supr y las de copiar y pegar, con la rejilla activa y sin estar escribiendo en una celda.

Con el código​

Si la canción es la música de una sala, no escribes nada: la pone el código que genera el editor de escenas (La sala y el juego). Si cargas las salas como datos, no suena sola: lo cuenta El código que genera.

En un juego de código, carga el .jmu con Sound.loadMusic y tócalo con Sound.playMusic:

use Sound

Sound.init()

if (Sound.loadMusic("Music/Tema.jmu")) then
Sound.playMusic() // en bucle si la canción tiene Loop song
end

func irAlEstribillo()
Sound.seekMusic(13824) // el número, de Copy ms (seekMusic)
end
  • loadMusic devuelve true si ha podido cargarla. La ruta es la de la canción en el proyecto, con .jmu: Music/Tema.jms se carga como "Music/Tema.jmu".
  • playMusic() la empieza desde el principio. Sin argumento, se repite si tiene Loop song; playMusic(true) y playMusic(false) lo deciden por ti.
  • seekMusic(ms) salta a un punto de la canción. Para saber el número, pon el cursor en la fila y pulsa Copy ms (seekMusic): lo copia al portapapeles.
  • Si arrastras el .jms del explorador al editor de código, un menú te deja elegir Insert as Sound.loadMusic, Insert as load + play o Insert as Path, y escribe la llamada por ti, ya con .jmu.

Las demás funciones de la música (pauseMusic, resumeMusic, stopMusic, setMusicVolume, isMusicPlaying y unloadMusic) y cómo convive con los efectos de sonido, que usan los mismos canales, están en Sound. La música del tracker no sustituye a los sonidos grabados: para esos está loadSample, en la misma página.

Problemas conocidos​

  • La pista de Play está anticuada. Dice «emits a 440Hz beep in 3.1; full mixer arrives in 3.2», pero Play toca la canción entera, con todos sus canales e instrumentos.
  • La columna Sus % no va en porcentaje. En INSTRUMENTS, Sus % va de 0 a 255, como Sus 0-255 en Edit instrument: 255 es el 100 % y 128, la mitad. Si escribes 50 pensando en la mitad, la nota se queda en el 20 %.
  • La rejilla no lo comprueba todo. Subraya en rojo lo mal escrito, pero no los valores de los comandos (TEMPO 300, VOL 300, CHSTOP 7), un periodo de ruido por encima de N255, ni un Inst que no existe o que no es del tipo del canal. Eso lo encuentra la compilación, que entonces se para entera. Pulsa Validate (F9) antes de compilar: compila la canción y te dice qué falla.
  • Con REC, la rejilla salta arriba. Mientras suena cada nota que grabas, la marca verde de Play sale en la fila 000 y, si la canción no cabe en la ventana, la rejilla sube hasta ella. La nota se escribe bien, en la fila del cursor.
  • Deshacer una nota escrita con el teclado pide dos Ctrl+Z. Con REC, 1 o Retroceso, el primero solo vuelve a llevar el cursor a la nota, y el segundo la quita.

Todos los problemas conocidos de JARU, juntos, están en Problemas conocidos.