# Majors Max Rig

{% embed url="<https://youtu.be/7xrYDKNaeXY>" %}

The goal for this patch was to create and emulate a DJ controller using Max. The approach I used was plan, learn, and execute. I really wanted to learn how to use max objects and use the functions of Mira in a way that my ideas were not diminished by my knowledge. I first made a plan of all the features I wanted to achieve.

* DJ Controller
* &#x20;UI & Features
  * Two Turntables
  * Transport Control
  * X-Y Pad for Effects
  * &#x20;Toggle For effects
* &#x20;Swipe for Pitch Shift       &#x20;
  * Text Display
* &#x20;Swipe for Tempo Control (Universally in Sync)
  * Effect when changing tempo
  * Text Display
* Meters to display amplitude
* Sliders to adjust gain of different features
* Crossfader Feature&#x20;
  * Buttons to Go Hard Left, Middle, Right
* Sampler Pads for Chops
* Sampler Pads for One-Shots

I then created the UI to visualize the concept and inspire me to implement the features. Canva was used to create vinyl pictures. After completing the UI. I used the mira.multitouch help patch to learn how to capture touch input. I used various techniques to convert the output to be useful. Scale was used in many cases. Creating the sampler took a little more effort. I used the segments in the mira frade to create individual pads. I created a subpatch to send section information. The playlist\~ object does not start the section from the beginning when sending section messages. I got around this by using delays to stop the sound, send the message, and then play the sound while still being useful in performance. Throughout the patch I used send and receive objects to make the patch look neater and route signals or messages to multiple objects. The sound FXs’ sound was routed to a separate output so that when using crossfading, you can still hear the other tracks' wet effect signal.  There were many small obstacles I had to overcome for each separate system, but I continued to use the reference and max cookbook to view examples when needed. Overall, I was able to implement everything I originally planned for.

<figure><img src="/files/cHwhBRdOSYxmOOrurLDl" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://portfolio.teairis.com/portfolio/max-8-projects/majors-max-rig.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
