# CSV

## What is?

This file contains values ​​separated by semicolons, this is to represent separations of values. It is easy to read, you just need to know the characteristics of each column.

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

***

## CSV Information

<pre class="language-csharp" data-title="Info"><code class="lang-csharp">string info = string.Format("{0};{1};{2};{3};{4};{5};{6};{7}", 
<strong>    songName.text,
</strong><strong>    (ClipLength * 1000).ToString(System.Globalization.CultureInfo.InvariantCulture),
</strong><strong>    bpm.text,
</strong><strong>    cameraBeatsWindow.cameraBeatsToggle.isOn ? "0" : "1", 
</strong><strong>    cameraBeatsWindow.new_cameraBeatsDropdown.value, 
</strong><strong>    cameraBeatsWindow.rotPowerPercentage.ToString(), 
</strong><strong>    pathToProjectFolder.folderName,
</strong><strong>    GetNameGameMode());
</strong></code></pre>

Example:

```csv
Here is the best name in the world -w-;305;60;0;3;0;Name Folder;3D
```

<table><thead><tr><th width="175">Value</th><th>Description</th></tr></thead><tbody><tr><td>Here is the best name in the world -w-</td><td>Name that appears at the top in the center, this is to avoid making a mistake with the csv file.</td></tr><tr><td>305</td><td>Length in milliseconds of the music duration.</td></tr><tr><td>60</td><td>Integer number of the music BPM.</td></tr><tr><td>0</td><td>0 indicates positive and 1 indicates negative. In this case we have a 0, which indicates that the automatic camera beat was activated.</td></tr><tr><td>3</td><td>Indicates the selected option of a dropdown, which is the beat steps.</td></tr><tr><td>0</td><td>Indicates percentage of rotation per beat.</td></tr><tr><td>Name Folder</td><td>Name of the folder/project, it is necessary to indicate if the assets folder is used.</td></tr><tr><td>3D</td><td>Game Mode</td></tr></tbody></table>

***

## Effect Notes

Values ​​of effect and event notes.

<pre class="language-csharp" data-title="Effect Note"><code class="lang-csharp">info += String.Format("\n{0};{1};{2};{3};{4}", 
<strong>    note.rowID, 
</strong><strong>    startTime.ToString(System.Globalization.CultureInfo.InvariantCulture),
</strong><strong>    endTime.ToString(System.Globalization.CultureInfo.InvariantCulture), 
</strong><strong>    note.typeNote, 
</strong><strong>    note.values);
</strong></code></pre>

Example:

```csv
1;60.06165;60.06165;0;0|2|-1.3|22|0|0|0|0|1|1
```

<table><thead><tr><th width="175">Value</th><th>Description</th></tr></thead><tbody><tr><td>1</td><td>Indicates the family of the effect represented in numbers as id.</td></tr><tr><td>60.06165</td><td>Indicates the start time of the effect in milliseconds.</td></tr><tr><td>60.06165</td><td>Indicates the end time of the effect in milliseconds.</td></tr><tr><td>0</td><td>Indicates the effect type.</td></tr><tr><td>0|2|-1.3|22|0|0|0|0|1|1</td><td>Indicates the values ​​for the execution of the effect.</td></tr></tbody></table>


---

# 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://hadqueddani-creations.gitbook.io/yet-another-ritmo-mania-docs/getting-started-with-the-effects-editor/structure/csv.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.
