Clone wiki

launchpadd / Home

Welcome to launchpadd wiki!

Other pages

Introduction

Launchpadd is a music playing tool that has buttons (pads) which activate specific actions. These actions are defined in a preset's ini file that's located in your device's internal memory or sd card at /sdcard/.launchpadd/%PRESET_NAME%/preset.ini. The ini file should be loaded through the main configuration file in the program directory: /sdcard/.launchpadd/launchpadd.ini. Launchpadd also creates a log file in the same directory.

Download example presets from here.

Main configuration file

A typical configuration file looks like this:

[System]
... system settings (audio configuration, debugging. etc.)

[Preset]
preset=%PRESET_NAME%

System settings

  • output=<mode> — this value sets the output mode for the platform. (default is auto) Possible values:
    • on Android: opencl, audiotrack;
    • on Linux: alsa, pulseaudio;
    • on Windows: asio, winmm, dsound, wasapi;
    • on MacOS: coreaudio.
  • bufferlength=<number> — mixer block size, counted in samples. (default is 16)
  • numbuffers=<number> — amount of buffers used by the mixer. Use this to adjust mixer latency. To get total buffer size, multiply bufferlength by numbuffers. (default is 128)

WARNING: Launchpadd uses very small buffer sizes to decrease input lag (delay between touching a button and hearing the sound). This requires intense CPU usage that may cause some sound glitches. Increase buffer length and decrease buffer count if you hear them.

Server only

  • midiport=<number> - midi port that launchpadd should send MIDI commands to. (default is 0) Launchpadd also prints the full list of MIDI ports when launched.

Preset configuration file

A typical preset file looks like this:

[Global]
... global settings

[Button1x1]
... first button's settings

[Button1x2]
... second button's settings

... more buttons

Settings for each button are stored in a separate configuration block. The name of the block contains the button's position position [ButtonCxR] (C = column number, R = row number) These values should start from 1.

Portrait orientation:

num.png

Global settings

  • rows=<number> (default is 5)
  • columns=<int> (default is 7)
  • backgroundcolor=<name or #RRGGBB> (defailt is gray)
  • buttoncolor=<name or #RRGGBB> — changes the default color of buttons when not pressed (unless overriden in button settings) (Default is white).
  • pressedbuttoncolor=<name or #RRGGBB> — changes the default color of buttons that are pressed (unless overriden in button settings) (Default is red).
  • landscape=<true or false> — use landscape orientation for coordinates instead of portrait. (defailt is false — portrait) (new from 1.4beta)

Server only

  • usemidi=<true or false> — set to true to use (RT)midi output instead of normal (FMOD) sound. (moved to preset config in 1.4beta)

Button settings

  • action=<name> — which action to perform when the button is pressed. Possible values: play, stop, stopall
  • data=<string>
    • if action=play — contains the path to sound file to play. You should use the ! character before the path to make the path relative to the preset's directory. Example: !samples/sound.flac will translate to /sdcard/.launchpadd/%PRESET_NAME%/samples/sound.flac.*
    • if action=stop — contains the position of button on the screen to stop sound [CxR] Example: 1x2,2x3
  • loop=<mode> — whether to repeat the sound after it ends or not. Possible values: off, on, bidi (Bidirectional, play the sample in reverse once it reaches the end). Default is off.
  • note=<name> — possible values: G#-1 ... D#10 (Default is C-5)
  • backwards=<true or false> — play the sound backwards if true (Default is false)
  • color=<name or #RRGGBB> — button color when not pressed, overrides default color.
  • pressedcolor=<name or #RRGGBB> - button color when the button is pressed, overrides default color.
  • stoppolicy=<number> — how to stop the sound the button plays. Possible values:
    • 0 — let the sound play after the button is released (default for non-looped sounds).
    • 1 — stop the sound when the button is released (default for looped sounds).
    • 2 — toggle the sound with each press of the button.
  • volume=<number> — sound volume between 0.0 and 1.0 (Default is 1.0)
  • panning=<number> — sound panning between -1.0 (left) and 1.0 (right). 0 is center. (Default is 1.0)
  • channelmode=<mode> — Possible values:
    • free — allow multiple sounds originating from this button to play simultaneously (default).
    • reuse — allow only one sound from this button to play, silence the previous one when the button is pressed.

Server only

  • midiplay=<string> - MIDI message(s) which launchpadd server should send to the MIDI port when you press the button.
  • midistop=<string> - MIDI message(s) which launchpadd server should send to the MIDI port when you release the button.

MIDI button example:

# set program to 5, and play C-5 (send "note on" command) with volume 100
# hex values are also supported, 0x90 = 144
midiplay="192,5|0x90,60,100"
# note off
midistop="128,60,100"

You may find more information about midi commands here

Server connection settings

(Launchpadd client only)

  • connect=<true or false> — (Default is false) If true, connect to the Launchpadd server.
  • address=<string> - (Default is empty) Launchpadd server address. (Example: 192.168.0.5)
  • port=<number> - (Default is 3455) Launchpadd server port.

Server settings

(Launchpadd server only)

  • port=<int> - (Default is 3455) Which network port to receive button presses from.

Updated