Skip to content

Commit ef76722

Browse files
author
Nathan Ho
committed
restore BoringMixer
1 parent 8902fd1 commit ef76722

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

01-BoringMixer/BoringMixer.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#include "SC_PlugIn.h"
2+
3+
static InterfaceTable *ft;
4+
5+
struct BoringMixer : public Unit {
6+
};
7+
8+
extern "C" {
9+
void load(InterfaceTable *inTable);
10+
11+
void BoringMixer_next(BoringMixer *unit, int inNumSamples);
12+
void BoringMixer_Ctor(BoringMixer* unit);
13+
};
14+
15+
void BoringMixer_Ctor(BoringMixer* unit) {
16+
SETCALC(BoringMixer_next);
17+
}
18+
19+
void BoringMixer_next(BoringMixer* unit, int inNumSamples) {
20+
21+
float *left = IN(0);
22+
float *right = IN(1);
23+
float *out = OUT(0);
24+
25+
for (int i = 0; i < inNumSamples; i++) {
26+
out[i] = (left[i] + right[i]) * 0.5;
27+
}
28+
}
29+
30+
PluginLoad(BoringMixerUGens) {
31+
ft = inTable;
32+
DefineSimpleUnit(BoringMixer);
33+
}

01-BoringMixer/BoringMixer.sc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
BoringMixer : UGen {
2+
*ar { |left, right|
3+
^this.multiNew('audio', left, right);
4+
}
5+
checkInputs {
6+
[0, 1].do { |i|
7+
(inputs[i].rate != 'audio').if {
8+
^"input % is not audio rate".format(i).throw;
9+
};
10+
};
11+
^this.checkValidInputs;
12+
}
13+
}

01-BoringMixer/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
cmake_minimum_required (VERSION 2.8)
2+
set(PROJECT "BoringMixer")
3+
project (${PROJECT})
4+
5+
include_directories(${SC_PATH}/include/plugin_interface)
6+
include_directories(${SC_PATH}/include/common)
7+
include_directories(${SC_PATH}/common)
8+
9+
10+
set(CMAKE_SHARED_MODULE_PREFIX "")
11+
if(APPLE OR WIN32)
12+
set(CMAKE_SHARED_MODULE_SUFFIX ".scx")
13+
endif()
14+
15+
if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
16+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -mstackrealign -mfpmath=sse")
17+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -mstackrealign -mfpmath=sse")
18+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
19+
endif()
20+
21+
add_library(${PROJECT} MODULE BoringMixer.cpp)

0 commit comments

Comments
 (0)