Skip to content
This repository has been archived by the owner on Dec 1, 2022. It is now read-only.

Commit

Permalink
Changed name from Audacity to Saucedacity
Browse files Browse the repository at this point in the history
  • Loading branch information
generic-pers0n committed Jul 11, 2021
1 parent c4f6445 commit cf277bc
Showing 1 changed file with 28 additions and 28 deletions.
56 changes: 28 additions & 28 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Building Audacity
# Building Saucedacity

## Prerequisites

Expand Down Expand Up @@ -35,13 +35,13 @@ On Linux, `cmake` is usually available from the system package manager.

### Windows

We build Audacity using [Microsoft Visual Studio 2019](https://visualstudio.microsoft.com/vs/community/). In order to build Audacity **Desktop development with C++** workload is required.
We build Saucedacity using [Microsoft Visual Studio 2019](https://visualstudio.microsoft.com/vs/community/). In order to build Saucedacity, the **Desktop development with C++** workload is required.

As we require only C++14 - MSVC 2017 should work just fine too.

### MacOS

We build Audacity using XCode 12. However, it is likely possible to build it with XCode 7.
We build Saucedacity using XCode 12. However, it is likely possible to build it with XCode 7.

### Linux

Expand All @@ -58,17 +58,17 @@ $ sudo apt-get install libgtk2.0-dev libasound2-dev libavformat-dev libjack-jack

## Building on Windows

1. Clone Audacity from the Audacity GitHub project.
1. Clone Saucedacity from the Saucedacity's GitHub.

For example, in the **git-bash** run:

```
$ git clone https://github.com/generic-pers0n/audacity/
$ git clone https://github.com/generic-pers0n/saucedacity/
```

2. Open CMake GUI.

Set the **Where is the source code** to the location where Audacity was cloned.
Set the **Where is the source code** to the location where Saucedacity was cloned.

Set **Where to build the binaries** to the location you want to place your build in. It is preferred that this location is not within the directory with the source code.

Expand All @@ -80,71 +80,71 @@ $ sudo apt-get install libgtk2.0-dev libasound2-dev libavformat-dev libjack-jack

6. Select "Build -> Build Solution".

7. You can now run and debug Audacity!
7. You can now run and debug Saucedacity!

Generally, steps 1-5 are only needed the first-time you configure. Then, after you've generated the solution, you can open it in Visual Studio next time. If the project configuration has changed, the IDE will invoke CMake internally.

> Conan Center provides prebuilt binaries only for **x64**. Configuring the project for Win32 will take much longer, as all the 3rd party libraries will be built during the configuration.
## macOS

1. Clone Audacity from the Audacity GitHub project.
1. Clone Saucedacity from the Saucedacity GitHub project.

```
$ git clone https://github.com/generic-pers0n/audacity/
$ git clone https://github.com/generic-pers0n/saucedacity/
```

2. Configure Audacity using CMake:
2. Configure Saucedacity using CMake:
```
$ mkdir build && cd build
$ cmake -GXcode -T buildsystem=1 ../audacity
$ cmake -GXcode -T buildsystem=1 ../saucedacity
```

3. Open Audacity XCode project:
3. Open Saucedacity XCode project:
```
$ open Audacity.xcodeproj
```
and build Audacity using the IDE.
and build Saucedacity using the IDE.

Steps 1 and 2 are only required for first-time builds.

Alternatively, you can use **CLion**. If you chose to do so, open the directory where you have cloned Audacity using CLion and you are good to go.
Alternatively, you can use **CLion**. If you chose to do so, open the directory where you have cloned Saucedacity using CLion and you are good to go.

At the moment we only support **x86_64** builds. It is possible to build using AppleSilicon hardware but **mad** and **id3tag** should be disabled:

```
cmake -GXCode -T buildsystem=1 -Daudacity_use_mad="off" -Daudacity_use_id3tag=off ../audacity
cmake -GXCode -T buildsystem=1 -Daudacity_use_mad="off" -Daudacity_use_id3tag=off ../saucedacity
```

## Linux & Other OS

1. Clone Audacity from the Audacity GitHub project.
1. Clone Saucedacity from the Saucedacity GitHub project.

```
$ git clone https://github.com/generic-pers0n/audacity/
$ git clone https://github.com/generic-pers0n/saucedacity/
```

2. Configure Audacity using CMake:
2. Configure Saucedacity using CMake:
```
$ mkdir build && cd build
$ cmake -G "Unix Makefiles" -Daudacity_use_ffmpeg=loaded ../audacity
$ cmake -G "Unix Makefiles" -Daudacity_use_ffmpeg=loaded ../saucedacity
```
By default, Debug build will be configured. To change that, pass `-DCMAKE_BUILD_TYPE=Release` to CMake.

3. Build Audacity:
3. Build Saucedacity:
```
$ make -j`nproc`
```

4. Testing the build:
Adding a "Portable Settings" folder allows Audacity to ignore the settings of any existing Audacity installation.
Adding a "Portable Settings" folder allows Saucedacity to ignore the settings of any existing Saucedacity (or Audacity) installation.
```
$ cd bin/Debug
$ mkdir "Portable Settings"
$ ./audacity
$ ./saucedacity
```

5. Installing Audacity
5. Installing Saucedacity
```
$ cd <build directory>
$ sudo make install
Expand All @@ -158,28 +158,28 @@ You can use `cmake -LH` to get a list of the options available (or use CMake GUI

### Building using system libraries

On Linux it is possible to build Audacity using (almost) only the libraries provided by the package manager. Please, see the list of required libraries [here](linux/required_libraries.md).
On Linux it is possible to build Saucedacity using (almost) only the libraries provided by the package manager. Please, see the list of required libraries [here](linux/required_libraries.md).

```
$ mkdir build && cd build
$ cmake -G "Unix Makefiles" \
-Daudacity_use_ffmpeg=loaded \
-Daudacity_lib_preference=system \
-Daudacity_obey_system_dependencies=On \
../audacity
../saucedacity
```

There are a few cases when the local library build is preferred:

1. **wxWidgets**: While Audacity on **Linux** uses vanilla version of wxWidgets, we **require** that version **3.1.3** is used. This version is not available in most of the distributions.
2. **portaudio-v19**: Audacity currently uses [some private APIs](https://github.com/audacity/audacity/issues/871), so using system portaudio is not yet possible.
1. **wxWidgets**: While Saucedacity on **Linux** uses vanilla version of wxWidgets, we **require** that version **3.1.3** is used. This version is not available in most of the distributions.
2. **portaudio-v19**: Saucedacity currently uses [some private APIs](https://github.com/audacity/audacity/issues/871), so using system portaudio is not yet possible.
3. **vamp-host-sdk**: Development packages are not available in Ubuntu 20.04.
4. **libnyquist** & **portmixer**: Libraries are not available in Ubuntu 20.04.
5. **sqlite3** & **libsmbs**: Libraries are very outdated in Ubuntu 20.04.

It is not advised to mix system and local libraries, except for the list above. `ZLib` is a very common dependency; it is possible to mix system and local libraries in one build. However, we advise against doing so.

There is a [`Dockerfile`](linux/build-environment/Dockerfile) that can be used as an example of how to build Audacity using system libraries:
There is a [`Dockerfile`](linux/build-environment/Dockerfile) that can be used as an example of how to build Saucedacity using system libraries:

```
$ docker build -t audacity_linux_env .\linux\build-environment\
Expand Down

0 comments on commit cf277bc

Please sign in to comment.