# Usage Guide (MMW4CC)

## Quick Overview

This is the place where chart designers ("charters") spend most of their time working on a chart after adjusting timing settings. Notes, Hi-speed, and other aspects of Project Sekai chart design elements (with extended features...) can be inspected in this window.

<figure><img src="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FWBdfKWwa3DQRVjxvm8Uu%2Fimage.png?alt=media&#x26;token=473e19a5-d296-4017-b8f7-5216965a05ea" alt=""><figcaption><p>MMW4CC window</p></figcaption></figure>

{% hint style="warning" %}
The sub-window in the image above is organized for clarity. **This is NOT what it will look like when opening MMW4CC for the first time.**
{% endhint %}

***

## Loading and Saving Charts

* MMW4CC can open, edit, and save MikuMikuWorld for Chart Cyanvas Score files `*.ccmmws`and Universal Sekai Chart files `*.usc`.
* Load charts by selecting `File > Open` from the menu bar
* Save the current chart into MMW4CC Score file by selecting `File > Save`
* Export the current chart into `*.usc` file by selecting `File > Export USC`
  * &#x20;Export the chart into `*.sus` via [keyboard shortcuts](#shortcut-configuration-key-config) (by default it's `Ctrl+E`)

***

## Loading Chart Music

In the `Chart Properties` window under `Audio`, load a music file by selecting `...` next to `Music File` or typing in the path to the file. You can also adjust the music offset. The values are in milliseconds (1/1000th of a second). A higher value will start the music later and a lower value will start it sooner. The supported formats are:

* MPEG Audio Layer III (\*.mp3)
* Waveform Audio File (\*.wav)
* Free Lossless Audio Codec (\*.flac)
* Ogg Vorbis (\*.ogg)

A waveform will be displayed when the music is loaded which can help with syncing music to the notes. Selecting `View > Show Waveform` will toggle the waveform's visibility.

***

## Timeline

* Scroll through the timeline using the mouse wheel or the scrollbar
* Hold `Shift` while scrolling will change the scrolling speed. Scrolling speeds can be adjusted in `Settings > Timeline`
* Hold `Ctrl` while scrolling: Zoom in and out.
* During playback, the timeline scrolls to follow the scrollbar (<mark style="color:red;">red arrow bar</mark>).\
  To change this behavior to scroll after the cursor has passed the screen, uncheck `Cursor Auto Scroll` under `View` in the menu bar or through `Settings > Timeline`
* Hold step outlines can be turned off by unchecking `View > Show Step Outlines`
* The timeline background can be turned off or changed under `Settings > Timeline > Background`

***

## Timeline Tools

<figure><img src="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2F2d81yhngnHzZfOcHZCbY%2Fimage.png?alt=media&#x26;token=aa6c64c9-b459-429c-9b8c-011fffd2f8f3" alt=""><figcaption><p>Timeline Tool, shown at the top</p></figcaption></figure>

Different actions can be invoked depending on the timeline tool selected. From left to right they are...

<table data-full-width="false"><thead><tr><th width="72" data-type="files">Icon</th><th width="151">Tool</th><th width="361">Description</th><th>Default Shortcut</th></tr></thead><tbody><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FTdaqFkNBFztIc6Q88zdn%2Ftimeline_select.png?alt=media&#x26;token=ce7db0ec-1a4a-4895-8cad-7094e861537d">timeline_select.png</a></td><td>Select</td><td><mark style="color:blue;"><code>Left Click</code></mark> or <mark style="color:blue;"><code>Drag</code></mark>: Select notes.<br><mark style="color:blue;"><code>Ctrl + Left Click</code></mark>: Append selection.<br><mark style="color:blue;"><code>Alt + Left Click</code></mark>: Subtract selection.<br>- Click anywhere else in the timeline to deselect.</td><td><mark style="color:blue;"><code>1</code></mark></td></tr><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2F4avS0SeOo8wG8b1CkGO8%2Ftimeline_tap.png?alt=media&#x26;token=a3e01471-c5c4-4949-842b-4bfb03c6ef8b">timeline_tap.png</a></td><td>Tap</td><td><mark style="color:blue;"><code>Left Click</code></mark>: Place a tap note.</td><td><mark style="color:blue;"><code>2</code></mark></td></tr><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FsWBAsMtJGcdhqSmSUYee%2Ftimeline_hold.png?alt=media&#x26;token=acbbc247-0fa2-40f1-862e-76e189f8972c">timeline_hold.png</a></td><td><a href="../making-a-chart/creating-slide-shapes">Hold</a></td><td><mark style="color:blue;"><code>Left Click</code></mark>: Place a hold note.<br><mark style="color:blue;"><code>Left Drag</code></mark>: Place a holdStart point, release to place the holdEnd point.<br>- Clicking on a hold or hold step note will cycle the note's ease type.</td><td><mark style="color:blue;"><code>3</code></mark></td></tr><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FR4CS3ZjpmALRbosN4hNI%2Ftimeline_hold_step_normal.png?alt=media&#x26;token=e97342d7-beb3-43e6-8d35-34fca678e66d">timeline_hold_step_normal.png</a><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FsFiNlPGiYfyDEKj3WUVX%2Ftimeline_hold_step_hidden.png?alt=media&#x26;token=146f1ac4-618c-4f8e-a3d6-3390f194a650">timeline_hold_step_hidden.png</a><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2Feq2BZUQpMchlcYS6YnZ1%2Ftimeline_hold_step_skip.png?alt=media&#x26;token=f21d313d-2568-4f0f-bcf3-90e3293cdb39">timeline_hold_step_skip.png</a></td><td><a href="../making-a-chart/creating-slide-shapes">Hold Step</a></td><td><mark style="color:blue;"><code>Left Click</code></mark>: Place a hold step note.<br>- Cycles the hold step's type when clicked on the hold step note.<br>- Cycles the hold step's type when clicking the icon or using the keyboard shortcut.</td><td><mark style="color:blue;"><code>4</code></mark></td></tr><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2F7RNWZdxUfDcMYVYcTaMd%2Ftimeline_flick_default.png?alt=media&#x26;token=8184da92-1b5a-40af-b21d-af46f32ab7d7">timeline_flick_default.png</a><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FvL0lUpGuldTbeb63rHBl%2Ftimeline_flick_left.png?alt=media&#x26;token=2b61130f-45c1-4389-958a-e53d60ef8f26">timeline_flick_left.png</a><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2F4zKpY0esJZULmSqRdhO3%2Ftimeline_flick_right.png?alt=media&#x26;token=07539934-8486-4a26-af86-f2ee91ce6311">timeline_flick_right.png</a></td><td>Flick</td><td><mark style="color:blue;"><code>Left Click</code></mark>: Place a flick note.<br>- Cycles the flick's direction when clicked on the flick note.<br>- Cycles the current flick's direction when clicking the icon or using the keyboard shortcut.</td><td><mark style="color:blue;"><code>5</code></mark></td></tr><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FQTyPopThNZ5o2rbBFiba%2Ftimeline_critical.png?alt=media&#x26;token=58a6caba-acf9-4798-947d-2513daa93b9a">timeline_critical.png</a></td><td>Critical</td><td><mark style="color:blue;"><code>Left Click</code></mark>: Place a critical note.<br>- Toggles between normal and critical if clicked on a note.</td><td><mark style="color:blue;"><code>6</code></mark></td></tr><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2F7DMe4qdVUhsDZV4qIyPi%2Ftimeline_trace.png?alt=media&#x26;token=001b8940-2e81-447d-b82b-028ac0e3bef8">timeline_trace.png</a></td><td>Trace</td><td><mark style="color:blue;"><code>Left Click</code></mark>: Place a trace note.<br>- Toggles between normal and trace if clicked on a note.</td><td><mark style="color:blue;"><code>7</code></mark></td></tr><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FwVRVWXrPgfRlaidItzWj%2Ftimeline_guide_green_out.png?alt=media&#x26;token=e2c0b26f-9679-44a5-a1d7-3e621d33e98f">timeline_guide_green_out.png</a></td><td>Guide Notes</td><td><mark style="color:blue;"><code>Left Click</code></mark>: Place a guide note.<br><mark style="color:blue;"><code>Left Drag</code></mark>: Place a guideStart point, release to place the guideEnd point.<br>- Cycles the guide's color when clicked on the guide note.<br>- Cycles the current guide's color when clicking the icon or using the keyboard shortcut.</td><td>None</td></tr><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FTctJdZFMtToT65nC5NVT%2Ftimeline_damage.png?alt=media&#x26;token=ab0d73de-87bc-41d9-b2ce-cc0b425d7992">timeline_damage.png</a></td><td>Damage</td><td><mark style="color:blue;"><code>Left Click</code></mark>: Place a damage note.<br>- Toggles between normal and damage if clicked on a note.</td><td>None</td></tr><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FSi3o4awJ3ejrnUiCQrOI%2Ftimeline_bpm.png?alt=media&#x26;token=630a11a3-043b-464a-8082-2d6fd1147b52">timeline_bpm.png</a></td><td>BPM</td><td><mark style="color:blue;"><code>Left Click</code></mark>: Place a BPM change event.<br>- Click the BPM to change the value.</td><td><mark style="color:blue;"><code>8</code></mark></td></tr><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FyfKR1xhKBXITocfzigsU%2Ftimeline_time_signature.png?alt=media&#x26;token=26311b17-1369-4ab7-be18-76af53205f7e">timeline_time_signature.png</a></td><td>Time Signature</td><td><mark style="color:blue;"><code>Left Click</code></mark>: Place a time signature change event.<br>- Click the time signature to change the value.</td><td><mark style="color:blue;"><code>9</code></mark></td></tr><tr><td><a href="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FdclZOCDkH4WXql2Xu1cg%2Ftimeline_hi_speed.png?alt=media&#x26;token=a762331e-c6c3-4677-8e87-7a3383e644ce">timeline_hi_speed.png</a></td><td><a href="../making-a-chart/hi-speed">Hi-Speed</a></td><td><mark style="color:blue;"><code>Left Click</code></mark>: Place a hi-speed change event.<br>- Click the hi-speed to change the value.</td><td><mark style="color:blue;"><code>0</code></mark></td></tr></tbody></table>

{% hint style="info" %}
You can change keyboard shortcuts by going to `Settings > Key Config.`
{% endhint %}

***

## Placing and Modifying Notes

* Place notes by selecting the appropriate timeline tool and left clicking on the timeline
* Select a note and drag it to move it around
* Select and drag either the left or right edges of the note to resize it

### Timeline Menu

<figure><img src="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2F9y0FOky3O0OZ3OHGwDJr%2Fimage.png?alt=media&#x26;token=5ce5a122-0a26-42c4-8c0b-dc1aed0e3d5c" alt=""><figcaption><p>TImeline Menu</p></figcaption></figure>

* **Playback buttons:** Previous Measure, Stop, Play/Pause, Next Measure
  * **Stop:** Teleport to measure 0.
* **Divisions:** Select the desired note division from the division select menu at the bottom. To use a custom division, input a number between 4 and 1920
* **Snap Mode:** Changes how the notes should be 'snapped' at when moving one or multiple notes at a different specified division.&#x20;
  * Relative Snap: Do not snap the notes. Move it like how it is.
  * Absolute Snap: Snap a note to a desired division. If selecting multiple notes, it will move until one of the multiple notes is snapped.
  * Individual Absolute Snap: Snap all selected notes to a desired division.
* **Go to Measure:** Input a positive number to teleport to that measure in the timeline
* **Timeline Speed:** Change the speed in the timeline to 25%, 50%, 75%, 100%.
* **Zoom:** Change how far the note appears in the timeline. Use `Ctrl+Click` to edit the value.

### Guide Notes

<figure><img src="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FMWyVXQqrgTkPg62OzZDs%2Fimage.png?alt=media&#x26;token=c72be4f1-6f03-4567-8eca-ed2af32af14d" alt=""><figcaption><p>Guide Notes</p></figcaption></figure>

Guide notes are similar to regular slides with a few differences:

* They do not count towards combo
* The steps always use the step type `Hidden`
* They fade out as they approach the end point

`(*.sus only)` Place a step near the end point to control the amount of fade. The closer the step is to the end point, the less fade there will be.

### Hidden Hold Point

<figure><img src="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FHbVDHJcbAVcxS8p6XmWF%2Fimage.png?alt=media&#x26;token=c5970d76-0b67-42d4-8cac-33b5f7fe8d2f" alt=""><figcaption><p>Hidden Hold Point</p></figcaption></figure>

The start and end points of a hold can be hidden. A hidden point does not require tapping at the start or releasing at the end. It will also not count towards combo. To create a hidden point:

* Select the hold points to hide/unhide
* From the context menu under `Hold Type` select either `Normal` or `Hidden`

***

## Context Menu

Right-click anywhere on the timeline to open the context menu. Most of the functions are self-explanatory and can be used as keyboard shortcuts.

* **Shrink Up:** Places the selected notes 1 tick apart starting from the latest note
* **Shrink Down:** Places the selected notes 1 tick apart starting from the earliest note
* **Connect Holds:** Merges two holds together
* **Split Hold:** Split a hold note to two separate hold notes
* **Repeat Hold Mids:** Insert selected Hold Mids at the next division repeatedly (you can make zigzag hold note easily with this tool)
* **Convert Hold to Traces:**
  * *Add Traces for Hold:* Add trace notes in-between the hold points. The number of traces can be changed depending on the number of measure divisions specified.
  * *Convert Hold to Traces:* Turn the holds into trace notes. The number of traces can be changed depending on the number of measure divisions specified. <mark style="color:red;">(Note: at this time, the hold flick at the end is only converted to normal trace note.)</mark>
* **Interpolate Hi-Speeds:** Insert Hi-Speeds in-between the selected Hi-Speed and changes value in a linear interpolation. The more divisions selected, the 'smoother' the speed change.

***

## Adjusting Settings

### Language

Currently, English and other 5 languages can be selected. Selecting `Auto` will detect the current system's language and choose the appropriate language. If the system's language is not supported by the program, it will default to English.

### Auto Save

Just like the original MikuMikuWorld, MMW4CC supports auto save. It is enabled by default. The interval (in minutes) and maximum number of auto save entries can be configured. Auto saved charts are located in the `auto_save` folder.

### Timeline Settings

* The timeline width can be changed from the `Lane Width` setting under Timeline
* A separate size for notes can be applied by unchecking `Match notes size to timeline width` and selecting the desired note size
* Checking `Return to last tick on Pause` will return the cursor to the last selected division upon pausing

### Shortcut Configuration (Key Config)

* Several actions be assigned a keyboard shortcut
* If multiple shortcuts are assigned to an action, the topmost one will be displayed in menus
* Add more shortcuts if needed by selecting `Add`. Up to 4 shortcuts can be created per action

***

## Lane Extension

An extended feature for [Chart Cyanvas](https://cc.sevenc7c.com). Extended lanes enable the notes to be able to be placed outside the initial boundary of the Project Sekai playfield.\
\
It can be adjusted in the `Chart Properties > Metadata` section. Up to 100 extended lanes can be adjusted, though the notes can be placed infinitely further away with the use of [Note Properties](#note-properties).

<figure><img src="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FSTqtvtOuDm4VHY618U9q%2Fimage.png?alt=media&#x26;token=298a1e8a-ff4e-4cad-a8f5-d83b7cdcacc7" alt="" width="563"><figcaption><p>Lane Extension</p></figcaption></figure>

***

## Note Properties

When selecting **ONLY&#x20;*****ONE*** note (tap, holdStart, holdEnd, flick, etc.), the metadata or configuration information about the note is shown at the note properties sub-window. The metadata can include details such as where the note is, type of notes, lane and width, and more.\
\
Here, you can adjust the value in each metadata in a very customizable way, with an additional feature of adjustable lane/width note value in decimals (e.g. 5.50 width).

<figure><img src="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FenryXP7s0QG5zfTdcnZp%2Fimage.png?alt=media&#x26;token=df397f5c-12f3-4958-a8c8-9359874de239" alt="" width="375"><figcaption><p>Note properties for a tap note</p></figcaption></figure>

***

## Layers

You can use layers to make notes and hi-speed in a "different playing field".

<figure><img src="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FO5dNzrEKl9KFRXpayv8o%2Fimage.png?alt=media&#x26;token=42bff36f-298e-475a-9f54-a165ab28298a" alt="" width="154"><figcaption><p>Layers</p></figcaption></figure>

### Create a Layer

* Click on `Create Layer` in the Layers sub-window. Input a name.

### Move a Layer

* Use :arrow\_up: and :arrow\_down: to move a layer.

### Hide/Show notes in a Layer

* Use the eye icon to hide/show notes.

### Place notes in another Layer

* When you have 2+ layers, click on the layer you want to work with.

### Move notes to another Layer

<figure><img src="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FMT6H8g5w6zysTpC6sGnI%2Fimage.png?alt=media&#x26;token=91a542ea-fada-40a4-8ec6-ed99008aada6" alt="" width="291"><figcaption><p>Move notes to another layer</p></figcaption></figure>

* <mark style="color:blue;">`Right Click`</mark> on the notes you want to select, then select `Layer` and click the layer you want to move notes to.

### Merging a Layer

* Click on the :arrow\_heading\_down: to merge the layer into a layer under it.

{% hint style="warning" %}
You cannot remove a layer the normal way. To "delete" it, move the notes from a layer you want to "delete", then merge it.
{% endhint %}

***

## Note Presets

<figure><img src="https://1260880958-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUHLXVLUFNvoudQt2mcoA%2Fuploads%2FyTyS3131EqxNddilCfQT%2Fimage.png?alt=media&#x26;token=a45b53ae-71a8-4a33-a3bf-13ad6880a3d0" alt="" width="266"><figcaption><p>Note Preset</p></figcaption></figure>

### Create a Preset

* Select the notes and/or hi-speed events desired then click on `Create Preset` in the Presets sub-window. Input a name and optionally a description.

### Insert a Preset

* Click on any of the presets available in the presets window, move the cursor to the desired position and click to place down the notes. You can search for a specific preset by typing its name in the search box

### Deleting Presets

* Click on the trash icon next to the preset button to remove it

***
