Skip to content

Commit

Permalink
Major restructure / testing / completeion of poly (#11)
Browse files Browse the repository at this point in the history
This is a major restruturing of the voice manager

- Move to a public header with impl interior
- Add an extensive number of tests
- Implement voice stealing and stealing groups in poly mode
- Implement note-stealing when stealing for polyphony
- Start adding doxygen (but still incomplete)
- And loads more

Basically if the prior commit was 'alpha1' this is now 'beta1'
but is also a breaking change.

Still a bit more to go. Don't work against this one yet if you
aren't baconpaul
  • Loading branch information
baconpaul authored Oct 24, 2024
1 parent 5622cf5 commit fe54f61
Show file tree
Hide file tree
Showing 28 changed files with 31,411 additions and 18,679 deletions.
19 changes: 19 additions & 0 deletions .github/workflows/publish-doxygen.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Publish Doxygen

on:
workflow_dispatch:
push:
branches:
- main

jobs:
publish_doxygen:
name: Publish Doxygen
runs-on: ubuntu-latest

steps:
- name: Publish Doxygen
uses: surge-synthesizer/sst-githubactions/publish-doxygen@main
with:
destination: ${{ github.event.repository.name }}
token: ${{ secrets.SST_DOCS_ACCESS_TOKEN }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ build/
.idea/
cmake-*/
ignore/
doxy-out/
13 changes: 12 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,21 @@ endif()

if (${bldtest})
add_executable(${PROJECT_NAME}-test
tests/main.cpp
# tests/main.cpp
tests/basic.cpp

tests/basic_poly.cpp
tests/mono_playback.cpp
tests/mpe_tests.cpp
tests/routing_params.cpp
tests/stealing_groups.cpp
tests/stealing_maxvoice.cpp
tests/stealing_priorities.cpp
tests/legato_playback.cpp
tests/piano_mode.cpp
tests/midi1_to_vm.cpp

libs/catch2/catch_amalgamated.cpp
)

if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU")
Expand Down
2,587 changes: 2,587 additions & 0 deletions doxygen/Doxyfile

Large diffs are not rendered by default.

67 changes: 67 additions & 0 deletions doxygen/header.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<!-- HTML header for doxygen 1.8.15-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen $doxygenversion"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
<link rel="shortcut icon" href="$relpath^$projectlogo" type="image/x-icon" />
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="$relpath^jquery.js"></script>
<script type="text/javascript" src="$relpath^dynsections.js"></script>
$treeview
$search
$mathjax
$extrastylesheet
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-115384200-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

gtag('config', 'UA-115384200-1');
</script>
<!-- END Global site tag - Google Analytics -->
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->

<!--BEGIN TITLEAREA-->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px; padding-top: 5px; padding-bottom: 5px;">
<!--BEGIN PROJECT_LOGO-->
<td id="projectlogo"><a href="https://github.com/surge-synthesizer/sst-filters"><img alt="Logo" style="width: 100%; height: 100%" src="$relpath^$projectlogo"/></a></td>
<!--END PROJECT_LOGO-->
<!--BEGIN PROJECT_NAME-->
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">$projectname
<!-- BEGIN PROJECT_NUMBER&#160;<span id="projectnumber">$projectnumber</span>END PROJECT_NUMBER-->
</div>
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
</td>
<!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME-->
<!--BEGIN PROJECT_BRIEF-->
<td style="padding-left: 0.5em;">
<div id="projectbrief">$projectbrief</div>
</td>
<!--END PROJECT_BRIEF-->
<!--END !PROJECT_NAME-->
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN SEARCHENGINE-->
<td>$searchbox</td>
<!--END SEARCHENGINE-->
<!--END DISABLE_INDEX-->
</tr>
</tbody>
</table>
</div>
<!--END TITLEAREA-->
<!-- end header part -->
Binary file added doxygen/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit fe54f61

Please sign in to comment.