# Developers

This page contains steps to build and run Microart Reverb Engine from source.&#x20;

### Requirements

#### .NET Framework 4.7.2

In most cases, when you have Visual Studio installed with the .NET Frameworks checked, these steps are not required.

1. Install .NET Framework v4.7.2:
2. Clear your nuget cache:

   ```
   dotnet nuget locals all --clear
   ```

   > NOTE: this is going to contain the "stable" versions of the packages, so you will have to clear the NuGet cache when this feed changes and when .NET ships. The various `darc-pub-dotnet-*` feeds are temporary and are generated on various builds. These feeds my disappear and be replaced with new ones as new builds come out. Make sure to verify that you are on the latest here and clear the nuget cache if it changes:

#### WPF Framework

This should come preinstalled with your installation of Visual Studio. However, if you are using a different IDE, you need to install the correct version of WPF.

#### NAudio v1.10

Install v1.10 from nuget

```powershell
# Install the NAudio package to the project named ReverbEngine.
Install-Package NAudio -Version 1.10.0 -ProjectName ReverbEngine
```

#### Newtonsoft.Json v12.0.3

Install v12.0.3 from nuget

```powershell
# Install the NAudio package to the project named ReverbEngine.
Install-Package Newtonsoft.Json -Version 12.0.3 -ProjectName ReverbEngine
```

### Running

#### .NET Framework v4.7.2

Compile Reverb Engine to an executable

```batch
:: Navigate from the solution to the actual project
cd ./ReverbEngine
:: Build using globally installed msbuild
msbuild.
```

Note: `dotnet build` will not build .NET Framework apps in *some* cases, it might work for yours. However, we won't provide any information as that is not an officially supported way of building Reverb Engine

### Contributing

#### Legal

By using Reverb Engine or by contributing to the respective repository, you are legally binding yourself with the [Code of Conduct](/legal/code-of-conduct.md) and [Terms and Conditions](/legal/terms-and-conditions.md).

#### Cloning the Repository

```batch
git clone https://github.com/microart-inc/ReverbEngine.git"
```

```batch
cd ./ReverbEngine
```

#### Create a temporary branch

```batch
git checkout -b [Any Temporary Name]
```

Example

```batch
git checkout -b new-gui
```

#### Make your changes

Edit the files how you please. Visual Studio and other IDE's will automatically enable git support and keep track of all the changes you make as you go.

#### Committing and Pushing

```batch
git commit -m "Made changes to the overall UI"
```

and&#x20;

```batch
git push origin new-gui
```

#### Finally submitting the changes for final review from Microart

This requires using the GitHub website or Desktop app. Simply go to the repository and select the `main` or `master` branch. From here press 'Compare & Pull Request' to open a pull request. In here fill the necessary details required by Microart and press 'Create pull request'. Your pull request will be processed as soon as possible.


---

# 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://docs.microart.app/apps/reverb-engine/developers.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.
