Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update source code documentation #22

Merged
merged 6 commits into from
Jul 27, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Update README. Add build and installation instructions (#21)
heikopanjas committed Jul 27, 2024
commit c57376e8e4023b63ca8caf9874d63d346693fa3d
3 changes: 0 additions & 3 deletions README.md

This file was deleted.

83 changes: 83 additions & 0 deletions README.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
#+title: README
#+author: Heiko Panjas <heiko@panjas.com>
#+date: <2024-07-27 Sat>

This repository contains the Ultraschall REAPER Plug-in. The Ultraschall REAPER Plug-in is a collection of extensions for the REAPER digital audio workstation that are designed to make podcasting with REAPER easier and more efficient.

* Build Prerequisites

The Ultraschall REAPER plug-in is written in C and C++, so you need a C/C++ compiler first. We recommend the latest version of the most commonly used compiler on each platform. That is /Microsoft Visual Studio 2022 17.10.5/ for Windows, /GCC 13.2/ for Ubuntu, and /Xcode 15.4/ for macOS.

The source code of the Ultraschall REAPER Plug-in is managed with CMake. Therefore, you need CMake and a build tool. We use Ninja because it works the same on every platform - Windows, Ubuntu, and macOS. Alternatively, you can use MSBuild or NMake on Windows, and GNU Make on Ubuntu and GNU Make or Xcode on macOS. We recommend installing the latest versions of /CMake/ and /Ninja/, since using alternative build tools may require changes to the CMake files. Currently, the latest versions of CMake and Ninja are /CMake 3.30.1/ and /Ninja 1.12.1/.

And of course, you also need a reasonably current version of Git. We always use the latest version, which is currently /Git 2.45.2/.

** Additionally Required Packages

On Ubuntu, the Ultraschall REAPER plug-in additionally requires the package /libcurl4-openssl-dev/.

* Build Instructions

First, open a terminal and navigate to the directory where you want to save the source code. On Windows, please use PowerShell, as the rest of this guide relies on it. Next, you need to download the source code

#+begin_src
git clone https://github.com/Ultraschall/ultraschall-plugin.git
#+end_src

Then switch to the Ultraschall-plugin directory.

#+begin_src
cd ultraschall-plugin
#+end_src

Run the build script. On Windows use

#+begin_src
./build.ps1
#+end_src

and on Ubuntu and macOS use

#+begin_src
./build.sh
#+end_src

The build script creates a platform-specific target. On Windows, it’s called

#+begin_src
reaper_ultraschall.dll
#+end_src

on Ubuntu, it’s

#+begin_src
reaper_ultraschall.so
#+end_src

and on macOS, it’s

#+begin_src
reaper_ultraschall.dylib
#+end_src

By default, the build script creates a development version of the plug-in, which includes debug symbols and runtime checks. The build targets are copied into the REAPER configuration so you can start using the debugger immediately. The REAPER configuration is located in different places on each platform. On Windows, it’s

#+begin_src
$ENV:APPDATA/REAPER/UserPlugins
#+end_src

on Ubuntu, it’s

#+begin_src
${HOME}/.config/REAPER/UserPlugins
#+end_src

and on macOS, it’s

#+begin_src
${HOME}/Library/Application\ Support/REAPER/UserPlugins
#+end_src

* Installation Instructions

An installation after the build is only necessary if you need a release version of the plug-in or if you want to distribute the plug-in after the build. To build a release version, you need to run the build script with the parameter /–release/. You can find the finished plug-in after the release build in the /./build/artifacts// subdirectory. From this subdirectory, you only need to copy the plug-in - /reaper_ultraschall.dll/, /reaper_ultraschall.so/, or /reaper_ultraschall.dylib/ - into the REAPER configuration (see above).