• Stars
    star
    132
  • Rank 274,205 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

MiraWeb

MiraWeb

Setup

If you'd just like to use MiraWeb the easiest way to do so is to download the MiraWeb package from the Max Package Manager. All necessary files, objects etc. are included and you should be good to go.

Packages

This repository follows a Monorepo approach and therefore includes the MiraWeb client and additional, supporting packages (formerly separated into multiple repositories). These packages are:

Out of these three xebra.js and xebra-communicator are available via npm although you might only wanna use xebra.js for your own applications (as it uses xebra-communicator internally). The source code for the MiraWeb Max package client can be found in src.

Contribute

You like the MiraWeb and its related projects and would like to contribute? Perfect! Please use the GitHub issue tracker in case you experience any bugs or get in touch for your feature requests or potential features you'd like to add. Please make sure to read our Contributing Guide before submitting any changes.

Contributing Guide

Setup

Note that most users won't need to do this and should rather use MiraWeb package in Max' Package Manager. However if you are developing MiraWeb or one of its packages you might need to have to setup properly. Please be aware that you still need to have the MiraWeb Max package installed in order to have Max support the Web enabling communication.

Make sure you have Node.js (version 10.13.0 or later) and Yarn (version 1.12.3 or later) installed and then in the cloned repository folder do the following to install all necessary dependencies and set up the monorepo (incl. the proper package links and additional configuration):

$> yarn install

All the packages can be found in the /packages while the MiraWeb source can be found in the /src folder. So after setting up the repository please feel free to switch to the package folder you'd like to work on and follow any further, package instructions there.

Scripts

"serve": "node ./scripts/serve.js",

"test": "node ./scripts/test.js"

Repo Setup

Use this to install all dependencies and setup the repository

$> yarn install

Repo Cleanup

Use this to clean up the monorepo and remove all interdependencies.

$> yarn run clean

Build

You can build the MiraWeb client using one of the following three scripts/configurations.

// start dev-server on http://localhost:8080
// watches for changes and does live reloading
// initial bundle build can take a few sec -> console shows progress
$> yarn run serve
// development build -> dev_build folder
$> yarn run build
// release build -> build folder
$> yarn run build-release

Tests

Use one of the following to run tests and linting

// Run MiraWeb and included packages tests
$> yarn run test

If you'd only like to run the linter please run

$> yarn run lint

or to apply auto-fixing of linting errors

$> yarn run lint-fix

Versioning & Publishing

This Repo contains multiple packages that need to be updated on NPM whenever we do a release. Additionally the Max Package needs to be updated by a Cycling '74 member via the Max Package Manager including the externally maintained externals. The following describes a guide on how to maintain versions, build a release and publish to npm. If you'd like to build pre-release version for testing as a Max Package etc, please branch beforehand and use this without publishing to npm. The latter version can be achieved using

$> yarn run setversion

If we are looking at an actual release: we use a single script to perform all publishing related tasks:

$> yarn publish

What it does is the following:

  • prepublish
    • run and ensure all tests succeed.
    • adjust version (asking you for the correct new version) and perfom git related tasks (commit package.json files, git-tag correctly)
  • publish
    • build and publish xebra-communicator to npm
    • build and publish xebra.js to npm
  • postpublish
    • build xebra.js docs and publish them using GitHub Pages
    • TODO: create a GitHub Release draft (currently done manually)
    • TODO: update S3 hosted pre-built Xebra.js versions (currently done manually)

After this please make sure to check the GitHub Release draft, fill in any additional info and make it public.

License

MIT

More Repositories

1

n4m-examples

Repository of examples using Node For Max authored by Cycling '74
Max
317
star
2

max-sdk

Software Development Kit for Max by Cycling '74
HTML
231
star
3

gen-plugin-export

Build audio applications and plugins with gen~
C++
210
star
4

min-devkit

Tools, documentation, and reference implementation of a Max Package built using the Min-API.
Max
157
star
5

cv.jit

A collection of max/msp/jitter externals, abstractions and help files for computer vision applications originally authored by Jean-Marc Pelletier.
Max
125
star
6

percolate

A collection of synthesis, signal processing, and image processing objects originally authored by Dan Trueman and Luke Dubois
Max
115
star
7

max6-sdk

Max 6 Software Development Kit
C
107
star
8

rnbo.example.webpage

Running a RNBO patch in the browser, using a local static web server
JavaScript
88
star
9

xebra.js

Xebra.js connects Max to the browser, and the browser to Max.
81
star
10

n4m-core-examples

Basic examples and core techniques for using Node For Max
Max
69
star
11

n4m-community

Repository of community resources for Node For Max
63
star
12

rnbo.example.juce

Template project for creating RNBO and JUCE based Desktop applications and/or Audio Plugins
Max
62
star
13

gen-workshop

Materials for the gen~ workshop and presentation at GRAME
C++
59
star
14

min-api

High-level C++-language application programming interface for Max
C++
49
star
15

median

Rust wrappers for interacting with the Max SDK.
Rust
47
star
16

max-devkit

Tools, documentation, and reference implementation of a Max Package built using the Max-API.
Max
45
star
17

max-test

Automated Test Harness for Max by Cycling '74
Max
38
star
18

max-api

Low-level C-language application programming interface for Max
C++
35
star
19

genPi

gen~-exported code on Raspberry Pi
C++
25
star
20

rnbo.oscquery.runner

RNBO runner with OSCQuery interaction/discovery interface
C++
18
star
21

max-mxj

Java support for Max by Cycling '74
Max
15
star
22

rnbo.unity.audioplugin

RNBO Adapter for Unity's Native Audio Plugin
C++
14
star
23

rnbo.example.vcvrack

An example of using RNBO exports in VCV Rack plugins
Max
14
star
24

genBela

gen~ code export for Bela (Beaglebone Black + Bela Cape -- bela.io)
C++
14
star
25

max-sdk-base

Headers, libs, and scripts for Max external development
C
13
star
26

xebra-communicator

XebraCommunicator is the underlying communication package for xebra.js, which provides Web enabled communication with Max.
13
star
27

rnbo.example.supercollider

An example of using RNBO exports in SuperCollider UGens
Max
13
star
28

ml-ddsp

Max
11
star
29

jit.mo

jit.mograph package
Max
11
star
30

RNBOSynthBuildingBlocks

Max
10
star
31

max-air-guitar

Strum on your air guitar in Max
Max
10
star
32

adc2021-workshop

Materials for the ADC 2021 workshop "Getting Max Out of Max with gen~"
Max
10
star
33

node-music-theory

Node For Max Music experiments
Max
10
star
34

rnbo-runner-panel

Web interface to the RNBO runner
TypeScript
9
star
35

rnbo-adc-workshop

How to use RNBO–A workshop for ADC 2022
C++
9
star
36

ease

Max
8
star
37

n4m-max-api

Placeholder / Stub Node package for users that accidentally install "max-api" when attempting to use the dynamic "max-api" within [node.script]
JavaScript
7
star
38

max5-sdk

Max 5 Software Development Kit
C
6
star
39

filter

Max
6
star
40

zero

Zero-configuration networking for Max
C
5
star
41

max-package-template

A minimal template for building a package with the Max SDK.
Max
5
star
42

codegen-eng-blog

Source code for the engineering blog pilot
TypeScript
5
star
43

n4m-recipes

4
star
44

eslint-config-c74

Packaged configuration of ESLint Rules according to Cycling '74 guide
TypeScript
4
star
45

mock

A mocked/stubbed library for linking unit tests of Max externals built with the Min-DevKit.
C++
3
star
46

node-sqlite3

PLpgSQL
2
star
47

min-package-template

A minimal template for building a package with the min-api.
Max
1
star
48

rnbo.example.command-line

Very simple command line application using RNBO
C++
1
star