Skip to content

Commit

Permalink
Revert interim 1.1 changes for 1.0.1 candidate
Browse files Browse the repository at this point in the history
Revert this commit to return to the 1.1 pipeline

Revert "Linux pluginsonly should be .tar.gz (surge-synthesizer#5832)"
This reverts commit edbf08a.

Revert "CLAP enable Surge by default (surge-synthesizer#5831)"
This reverts commit b75ca09.

Revert "Move path to shared sst-plugininfra (surge-synthesizer#5826)"
This reverts commit cb81930.

Revert "(XT 1.1) Fix various typos (surge-synthesizer#5795)"
This reverts commit 78210b5.

Revert "Move Surge XT to sst-plugininfra for TinyXML; FS (surge-synthesizer#5799)"
This reverts commit a06f419.

Revert "Handle StrNat Internal Spaces Differently (surge-synthesizer#5791)"
This reverts commit 6b42b59.

Revert "Add options for scene highpass slopes up to 48 dB/oct (surge-synthesizer#5762)"
This reverts commit 23e5b92.

Revert "(XT 1.1) Make certain osc controls semitransparent for Audio In (surge-synthesizer#5766)"
This reverts commit 3805547.

Revert "(XT 1.1) Move version to 1.1.0 (surge-synthesizer#5800)"
This reverts commit 2cb16c8.
  • Loading branch information
baconpaul committed Jan 28, 2022
1 parent 6e7f2e0 commit b2aeb2e
Show file tree
Hide file tree
Showing 110 changed files with 6,001 additions and 567 deletions.
12 changes: 3 additions & 9 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
[submodule "libs/eurorack/eurorack"]
path = libs/eurorack/eurorack
url = https://github.com/surge-synthesizer/eurorack.git
[submodule "libs/filesystem/ghc-filesystem"]
path = libs/filesystem/ghc-filesystem
url = https://github.com/gulrak/filesystem.git
[submodule "libs/oddsound-mts/MTS-ESP"]
path = libs/oddsound-mts/MTS-ESP
url = https://github.com/ODDSound/MTS-ESP
Expand All @@ -29,12 +32,3 @@
path = libs/PEGTL
url = https://github.com/taocpp/PEGTL.git
branch = 2.x
[submodule "libs/sst/sst-plugininfra"]
path = libs/sst/sst-plugininfra
url = https://github.com/surge-synthesizer/sst-plugininfra
[submodule "libs/sst/sst-cpputils"]
path = libs/sst/sst-cpputils
url = https://github.com/surge-synthesizer/sst-cpputils
[submodule "libs/clap-juce-extensions"]
path = libs/clap-juce-extensions
url = https://github.com/free-audio/clap-juce-extensions
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ if(NOT BUILD_TESTING)
option(BUILD_TESTING "" OFF)
endif()

project(Surge VERSION 1.1.0 LANGUAGES C CXX ASM)
project(Surge VERSION 1.0.0 LANGUAGES C CXX ASM)

# Banner {{{
message(STATUS "It's Surge XT, folks! Version is ${PROJECT_VERSION}")
Expand Down Expand Up @@ -46,15 +46,15 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU")
# Any Clang or any GCC
add_compile_options(
-Wno-multichar
# Targeting Windows with GCC/Clang is experimental
# Targetting Windows with GCC/Clang is experimental
$<$<NOT:$<BOOL:${WIN32}>>:-Werror>

# PE/COFF doesn't support visibility
$<$<NOT:$<BOOL:${WIN32}>>:-fvisibility=hidden>
# Inlines visibility is only relevant with C++
$<$<AND:$<NOT:$<BOOL:${WIN32}>>,$<COMPILE_LANGUAGE:CXX>>:-fvisibility-inlines-hidden>

# BP note: If you want to turn on llvm/gcc sanitize undo this and the link options below
# BP note: If you want to turn on llvm/gcc santize undo this and the link options below
# -fsanitize=address -fsanitize=undefined
)

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[from our website](https://surge-synthesizer.github.io). Surge Synth Team makes regular releases for all supported
platforms.**

**Over 2021, after the successful release of Surge 1.9, the Surge Synth team undertook an effort to rebuild Surge in JUCE
**Over 2021, after the succesful release of Surge 1.9, the Surge Synth team undertook an effort to rebuild Surge in JUCE
and add a variety of features. This project resulted in the new version of Surge, called 'Surge XT'. The head of this
repo contains the current version of Surge XT. If you are looking to compile a stable production version of Surge, we
tag each release, so if you want to compile Surge 1.9, please check out the `release_1.9.0` tag.**
Expand Down Expand Up @@ -131,7 +131,7 @@ cmake -Bbuild -DBUILD_USING_MY_ASIO_LICENSE=True
On Linux, using a community fork of JUCE, you can build an LV2. Here's how! We assume you have checked out Surge and can
build.

First, clone https://github.com/lv2-porting-project/JUCE/tree/lv2 on branch lv2, to some directory of your choosing.
First, clone https://github.com/lv2-porting-project/JUCE/tree/lv2 on branch lv2, to some directory of your chosing.

```
sudo apt-get install -y lv2-dev
Expand Down
2 changes: 1 addition & 1 deletion doc/Developer Guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ CI will fail (`linux-codequality` job). Make sure the diffs you submit for mergi
* `class HaveCamelCaseNames`
* `void functionsAreCamelCaseWithLowerFirst`
* We are not using `s_` or `m_` or equivalent notations for members or statics
* Full namespaces are generally preferred over `using`. We are trying to use
* Full namespaces are generally prefered over `using`. We are trying to use
`std::vector` over `vector` in the code.
* Don't do `using namespace` in header files. Don't `using namespace std` in new code (but it is in some existing code).
* Use namespaces, not classes to group functions. Check out how we implemented `UserInteractions.h`
Expand Down
4 changes: 2 additions & 2 deletions doc/Dynamic Names, Deactivation and Bipolarity.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ associated oscillator using control groups, use that to look up oscillator mode,
understand your parameter index, and return the right name.

Similarly, the `lfoPhaseName` handler which is set up for all LFOs in `SurgePatch.cpp`
creates a static handler and assigns it to all the `start_phase` dynamic
creates a static handler and assignes it to all the `start_phase` dynamic
names to swap Phase and Shuffle text labels based on LFO type.

## Dynamic Activation
Expand Down Expand Up @@ -63,7 +63,7 @@ or null if there is no parent.

So basically, a good implementation of `getValue()` is to look up the parent param and
return its decctivation status, and for `getPrimaryActivationDriver()` to look up the
parent parameter and return a pointer to it. LPG parameteres in EuroTwist do precisely this.
parent parameter and return a poitner to it. LPG parameteres in EuroTwist do precisely this.

### Follow Value Pattern

Expand Down
4 changes: 2 additions & 2 deletions doc/How to Git.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ pattern would be develop on Mac, do a commit, then test it on Windows and Linux.
make a one-line change and commit that. Now your change, which is still "one thing", has two commits.

Or perhaps, you develop your code over a week committing regularly and all those intermediate work commits
aren't ones you want to make visible. Or perhaps you develop, then format as a last step and have changes.
aren't ones you want to make visibile. Or perhaps you develop, then format as a last step and have changes.

In any case, as maintainers, we would sooner have a small number of git commits in our pull requests.

Expand Down Expand Up @@ -208,7 +208,7 @@ paul:~/dev/music/surge$ git cherry -v main
```

Now at this point you could push your branch (`git push origin update-git-howto`) and the PR would update
and would have two commits in it. Continuous integration would run its course and voila! But the maintainers would probably
and would have two commits in it. Continous integration would run its course and voila! But the maintainers would probably
squash those commits and rewrite your commit message, so you may want to squash down to one commit. Here's how you do it.

First rebase interactively with `git rebase -i main`. You will see an editor which looks like this:
Expand Down
2 changes: 1 addition & 1 deletion doc/Surge Architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ of the UI (like those delivered by the host) to be reflected in the UI.

Surge voice allocation and voice stealing code is complicated, supporting multiple polyphony modes
and MPE, which adds substantial complexity. The core data structure is a list of voices
which are allocated at startup and configured with an in-place constructor. Each has a reference
which are allocated at startup and configured with an in-place contructor. Each has a reference
to state for the channel in which it is playing.

The voice class is in `src/common/dsp/SurgeVoice.h` and contains a `SurgeVoiceState`.
Expand Down
1 change: 0 additions & 1 deletion libs/clap-juce-extensions
Submodule clap-juce-extensions deleted from 66ed91
60 changes: 60 additions & 0 deletions libs/filesystem/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
project(filesystem VERSION 0.0.0 LANGUAGES CXX)

set(INC_DIR "${CMAKE_CURRENT_BINARY_DIR}/include")
set(HEADER_DIR "${INC_DIR}/${PROJECT_NAME}")

function(generate_header FS_HEADER FS_NAMESPACE)
message(STATUS "${PROJECT_NAME}: Using ${FS_NAMESPACE} from ${FS_HEADER}")
set(HEADER_FILE "${HEADER_DIR}/import.h")
configure_file(src/import.h.in "${HEADER_FILE}" @ONLY)
target_sources(${PROJECT_NAME} INTERFACE "${HEADER_FILE}")
endfunction()

function(use_ghc_fs)
# Don't export GHC symbols from ELF shared objects
set(HEADER_FILE "${HEADER_DIR}/ghc-filesystem.h")
file(STRINGS ghc-filesystem/include/ghc/filesystem.hpp HEADER_DATA NEWLINE_CONSUME NO_HEX_CONVERSION)
string(REPLACE "__attribute__((visibility(\"default\")))" "" HEADER_DATA "${HEADER_DATA}")
file(WRITE "${HEADER_FILE}" ${HEADER_DATA})

add_library(${PROJECT_NAME} src/ghc-filesystem.cpp "${HEADER_FILE}")
generate_header("\"filesystem/ghc-filesystem.h\"" "ghc::filesystem")
target_compile_definitions(${PROJECT_NAME}
INTERFACE GHC_FILESYSTEM_FWD
PUBLIC GHC_RAISE_UNICODE_ERRORS GHC_WIN_WSTRING_STRING_TYPE
PRIVATE GHC_FILESYSTEM_IMPLEMENTATION
)
target_include_directories(${PROJECT_NAME} PUBLIC "${INC_DIR}")
endfunction()

function(use_platform_fs)
add_library(${PROJECT_NAME} INTERFACE)
generate_header("<filesystem>" "std::filesystem")
target_include_directories(${PROJECT_NAME} INTERFACE "${INC_DIR}")
endfunction()

if (UNIX AND NOT APPLE)
# with gcc11 on arch and latest ardour we get a crash in std::fs if we use the
# os provided one so keep this as an option but default to off
set(SURGE_FILESYSTEM_FORCE_GHC ON CACHE BOOL "Force GHC filesystem implementation")
else()
set(SURGE_FILESYSTEM_FORCE_GHC OFF CACHE BOOL "Force GHC filesystem implementation")
endif()
if (${SURGE_FILESYSTEM_FORCE_GHC})
use_ghc_fs()
else()
include(CheckCXXSourceCompiles)
check_cxx_source_compiles("
#include <filesystem>
namespace fs = std::filesystem;
int main(int, char **argv) {
return fs::recursive_directory_iterator{fs::path{*argv}}.depth();
}" SURGE_FILESYSTEM_STD_FS_FOUND)
if (SURGE_FILESYSTEM_STD_FS_FOUND)
use_platform_fs()
else()
use_ghc_fs()
endif()
endif()

add_library(surge::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
1 change: 1 addition & 0 deletions libs/filesystem/ghc-filesystem
Submodule ghc-filesystem added at 8166dd
16 changes: 16 additions & 0 deletions libs/filesystem/src/ghc-filesystem.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/*
** Surge Synthesizer is Free and Open Source Software
**
** Surge is made available under the Gnu General Public License, v3.0
** https://www.gnu.org/licenses/gpl-3.0.en.html
**
** Copyright 2004-2021 by various individuals as described by the Git transaction log
**
** All source at: https://github.com/surge-synthesizer/surge.git
**
** Surge was a commercial product from 2004-2018, with Copyright and ownership
** in that period held by Claes Johanson at Vember Audio. Claes made Surge
** open source in September 2018.
*/

#include "filesystem/import.h"
34 changes: 34 additions & 0 deletions libs/filesystem/src/import.h.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#pragma once

/*
** This file imports filesystem and sets the fs namespace to the correct
** thing. In a distant future where we are compiling with all our compilers
** and sdks set up to have std::filesystem this will go away. But while still
** supporting VS2017 and macos 10.12 and stuff we need it.
*/

#include @FS_HEADER@
namespace fs = @FS_NAMESPACE@;

#include <utility>

inline std::string path_to_string(const fs::path& path)
{
#ifdef _WIN32
return path.u8string();
#else
return path.generic_string();
#endif
}

template<typename T>
inline fs::path string_to_path(T&& path)
{
#ifdef _WIN32
return fs::u8path(std::forward<T>(path));
#else
return fs::path(std::forward<T>(path));
#endif
}

void string_to_path(fs::path) = delete;
1 change: 0 additions & 1 deletion libs/sst/sst-cpputils
Submodule sst-cpputils deleted from 916c8c
1 change: 0 additions & 1 deletion libs/sst/sst-plugininfra
Submodule sst-plugininfra deleted from c69767
Loading

0 comments on commit b2aeb2e

Please sign in to comment.