> For the complete documentation index, see [llms.txt](https://docs.microart.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.microart.app/apps/reverb-engine/developers.md).

# 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.
