/ma-tools

a feature rich utility for MA3/2 written in Typescript to allow operators to take advantage of LUA easily.

Primary LanguageTypeScriptMIT LicenseMIT

MA Tools

⚠️ OPEN ALPHA → software is not showready yet

a feature rich utility for MA3/2 to allow operators to take advantage of LUA easily.

installation

The very limited featureset of the plugin can be directly installed and tested by grandMA3/2 operators. Just head over the Releases Page and download it from there. Developers can git clone this repository and transpile the plugin by themselves or include it in one of their own typescript plugin projects by installing it directly thru npm i -D ma-tools. - see #developers

usage / possible future featureset

  • ma.cli - commandline tools to navigate the consoles cli easily
    • ma.cli() - opens text input and asks for cmd
    • ma.cli("cd /") - parses input and executes the ma-tools function
    • ma.cli{"Printf", Version()} - directly executes the ma-tools function
    • ma.cli(true) - opens popup over and over
    • ma.cli("Fixture 1") - selects Fixture 1
  • ma.ui - UI Tools to build great user experiences with e.g. Layout Views
    • ma.ui.gotoSequ(display_handle, 1) - spawns Goto Popup for Sequ 1
  • ma.op - easy to integrate tools for MA3/2 Operators
  • ma.cfg - configuration helper functions
  • ma.utils - generic helper ulilities mostly for internal use
    • ma.utils.dump(table) - returns string to allow for printing tables
  • ma.loop - a main event loop kind of aproach to hook functions into for repeated execution.

developers

prerequisites

The dependencies can be either installed by npm installing them or git cloned and npm linked manually to also be able to incorporate changes in those dependencies. To make ma-tools work, you need

  • grandMA3-types - TypeScript definitions for the grandMA3 Lua API
  • grandMA3-tstl-plugin - a TypeScriptToLua plugin that allows for direct export to grandMA3 compatible Lua files

as well as ma-tools itself. After installing the project with npm install you can optionally link grandMA3-types and grandMA3-tstl-plugin to your project via npm link.

transpile

npm run build

import to MA3

As long as the plugin development folder is located in the lib_plugins folder of grandMA3 the plugin can directly be imported like so: How to import the plugin

Bugs, Missing Features & Ideas

  • 💡 thousand ideas for the plugin are on the horizon → share yours by creating a GitHub issue or collaborating on the project!