micknoise / maximilian Goto Github PK
View Code? Open in Web Editor NEWC++ Audio and Music DSP Library
Home Page: http://www.maximilian.strangeloop.co.uk
License: MIT License
C++ Audio and Music DSP Library
Home Page: http://www.maximilian.strangeloop.co.uk
License: MIT License
Any plans to add other types of noise generator e.g pink, or offer a band limiting option to the white noise generator in maxiosc?
Cheers
Why are the same classes defined in maxiSynths and in Maximilian? It always gets me if I try to include libs/* in my project.
Why isn't maxiSVF part of maxiFilter? Because the maths demand different variables?
The API confuses me here.
Hey everyone,
I'm trying to run maximilian in xcode 3.2.6 and open frameworks 0071 but i get errors in "maxiatom.cpp".
It goes like this:
.../addons/ofxMaxim/libs/maxiAtoms.cpp:74: error: cannot convert 'double_' to 'float_' for argument '1' to 'void vDSP_vlint(float_, float_, vDSP_Stride, float*, vDSP_Stride, vDSP_Length, vDSP_Length)'
../addons/ofxMaxim/libs/maxiAtoms.cpp:112: error: no matching function for call to 'min(unsigned int&, long unsigned int)'
Does anybody know how to fix this?
Thanks
Most of the examples in the openFrameworks folder are broken or outdated.
If you want, I can make a PR including these examples https://github.com/edap/examplesOfxMaxim. They come more or less from your Kadenze online course, and they work with the current OF release.
Hi, i'm really interested in using Maximillian's FFT capabilities, but when i run the fft example from the examples folder in VS 2015, it doesn't compile? Does anyone have a solution? Thanks in advance!
I'm getting the following error:
RtAudio: no compiled support for specified API argument!
Thanks
`double maxiReverbFilters::lpcombfb(double input, double size, double fb, double cutoff)
{
// used for freeverb emulation
// low pass between delay output + feedback
delay_size = size;
output = input + (fb * mf.lopass(delay_line[delay_index],(1.0-cutoff)));
delay_line[delay_index] = output;
delay_index != delay_size - 1 ? delay_index++ : delay_index = 0;
return output;
return 0.0;
}`
Hi Mick,
Got an urgent question. I have been building an audiovisual granular synth for my PhD and my examination performance is on Friday. I am getting run time crashes at least 3 times a day relating to the double* getWindow function in maxiGrainWindowCache. (See image below)
Would you be able to suggest how or why this is continually occurring? Or what safe guards I could do temporarily to ensure that this never happens during my examination? Any advice or tips at all at this stage would help my sanity immensely. Thanks!
Hello!
I'm building an openFrameworks IOS app and i'm trying to use maximilan so i can do some fft analysis over some audio files, but i'm getting trouble getting maximilan to work outside testApp. i'm trying to create a class specific for the audioPlayer and fft analisys, but all i get is some cracked noise. I bet this is a newbie problem :-( ....
thanks in advance...
JF
Hi,
I'm getting an error. I'm building for ios. I added the Maximillian directory to the header and library search paths.
I'm just using an extremely basic setup with
maxiOsc mySine;//let's create an oscillator and give it a name.
mySine.sinewave(440); // <- this is being assigned to a buffer in a loop
I get the errors:
Undefined symbols for architecture i386:
"maxiOsc::maxiOsc()", referenced from:
SoFancyApp::SoFancyApp() in SoFancyApp.o
"maxiOsc::sinewave(double)", referenced from:
SoFancyApp::outputCallback(int, float*, double) in SoFancyApp.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Any idea why this is happening?
Thanks,
Casey
Is there a way to play compressed audio files like mp3 or caf ?? this would be great for IOS!
cheers
JF
I tried to run the download from https://www.kadenze.com/courses/machine-learning-for-musicians-and-artists-v but it says No Devices Found.
See https://www.kadenze.com/forums/5-sensors-and-features-generating-useful-inputs-for-machine-learning/threads/audio-driver-problem-with-various_audio_input-on-windows
So I downloaded this repo and ran the VC project. It builds ok but says nothing detected.
However, I have a Steinberg UR 44 (6 input) which works just fine with Live and everything else.
Any ideas? I'd love to try using it with Wekinator as outlined in the course.
ty!
hi @micknoise,
im working with ofxMaxim in OF on iOS.
basically, im trying to load a song from my iphones music library, convert it to a wav and have ofxMaxim do some cool shit with it :)
so far ive been successful in converting the library file to a wav file and storing it in the documents folder of the app to be then loaded by ofxMaxim, but this is where it trips up...
ive done lots of tests and worked out that when iOS exports a PCM wave file, it adds a "audio data file offset" of 4096 bytes. a normal wav file that works with ofxMaxim has a "audio data file offset" of 44 bytes. otherwise the files are identical when inspecting using the AFInfo command in terminal.
im thinking maximilian needs to find out what this "audio data file offset" value is before it starts reading the file into memory. ive had a hack around in maxiSample::read
function but its a bit over my head at the moment.
is the solution to this something apparent to you?
cheers,
L.
At the moment all of the core maximillian stuff is duplicated in this repository. Can we create a separate repository for the openFrameworks addon and have the core Maximilian stuff, which lives in this repo as a submodule?
As well as the benefits in development, it would mean more exposure to the addon via ofxaddons.com, where ofxMaxim is not listed.
Not exactly a bug, but probably worth addressing.
I was just reading through maximillion.h
and noticed in maxLagExp
you have a field alphaReciprocal = 1.0 - alpha;
. Nothing wrong with the value, but it's not the reciprocal of alpha...
Just want to say firstly that this is ana amazing library. I have been using Maxim to develop an audiovisual granular synthesiser for my PhD and i'm loving the results.
One thing that is kinda baffling me though. I have looked over the source and it is a real shame that the windowing functions must be hard coded in on compilation thus not allowing to switch between different windows while the software is running. In most granular synthesis software you have the option to trial our a variety of different windows while using the software.
Is there any plans on re-structuring the source to allow for such a thing? Apart from the creative freedom that this would allow, if one was to make a granular synthesis compiled application to distribute, it would be stuck with the 1 windowing function that was coded in on compilation.
Would really love to hear your guys thoughts on this, reasons as to why you have selected this route and if you plan on changing this limitation in the future?
Thanks.
I can't find information about the license of Maximilian.
Hi,
I made a fresh Project with OF 0071 on Windows 7 (64 bit) with Visual Studio 2010 . When I compile the code I get a couple of errors : Fehler 24 error C3861: "vDSP_mmulD": Bezeichner wurde nicht gefunden. d:\projects\of\of.0071.svn\of_v0071_vs2010_release\addons\ofxmaxim\libs\maximfcc.cpp 16 1 Maxim.Example
Fehler 25 error C3861: "vDSP_vsdivD": Bezeichner wurde nicht gefunden. d:\projects\of\of.0071.svn\of_v0071_vs2010_release\addons\ofxmaxim\libs\maximfcc.cpp 18 1 Maxim.Example
Fehler 26 error C3861: "vDSP_mmul": Bezeichner wurde nicht gefunden. d:\projects\of\of.0071.svn\of_v0071_vs2010_release\addons\ofxmaxim\libs\maximfcc.cpp 23 1 Maxim.Example
Fehler 27 error C3861: "vDSP_vsdiv": Bezeichner wurde nicht gefunden. d:\projects\of\of.0071.svn\of_v0071_vs2010_release\addons\ofxmaxim\libs\maximfcc.cpp 25 1 Maxim.Example
Fehler 66092 error C4716: 'maxiAtomBookPlayer::play': Muss einen Wert zurรผckgeben d:\projects\of\of.0071.svn\of_v0071_vs2010_release\addons\ofxmaxim\libs\maxiatoms.cpp 219 1 Maxim.Example
I realized that the Version in your VS2010 example Project differs from the ofxMaxim Version in the addon folder.
Can I use the ofxMaxim addon on Windows? (I want to use the maxiFFT but its missing in the VS2010 example version)
I'm using visual studio 2010
my operating system is windows 7
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(147): error C2864: 'maxiFractionalDelay::writePointer' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(148): error C2864: 'maxiFractionalDelay::readPointer' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(300): warning C4244: '=' : conversion from 'double' to 'short', possible loss of data
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(458): error C2864: 'maxiEnv::holdtime' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(514): warning C4244: 'argument' : conversion from 'double' to 'int', possible loss of data
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(539): warning C4244: 'argument' : conversion from 'double' to 'int', possible loss of data
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(540): warning C4244: 'argument' : conversion from 'double' to 'int', possible loss of data
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(666): error C2864: 'maxiKick::output' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(667): error C2864: 'maxiKick::outputD' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(669): error C2864: 'maxiKick::useDistortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(670): error C2864: 'maxiKick::useLimiter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(671): error C2864: 'maxiKick::useFilter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(672): error C2864: 'maxiKick::distortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(673): error C2864: 'maxiKick::inverse' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(676): error C2864: 'maxiKick::gain' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(691): error C2864: 'maxiSnare::output' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(692): error C2864: 'maxiSnare::outputD' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(694): error C2864: 'maxiSnare::useDistortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(695): error C2864: 'maxiSnare::useLimiter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(696): error C2864: 'maxiSnare::useFilter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(697): error C2864: 'maxiSnare::distortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(698): error C2864: 'maxiSnare::inverse' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(701): error C2864: 'maxiSnare::gain' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(721): error C2864: 'maxiHats::output' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(722): error C2864: 'maxiHats::outputD' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(724): error C2864: 'maxiHats::useDistortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(725): error C2864: 'maxiHats::useLimiter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(726): error C2864: 'maxiHats::useFilter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(727): error C2864: 'maxiHats::distortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(728): error C2864: 'maxiHats::inverse' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(731): error C2864: 'maxiHats::gain' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(774): error C2864: 'maxiSampler::originalPitch' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(776): error C2864: 'maxiSampler::outputD' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(780): error C2864: 'maxiSampler::useDistortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(781): error C2864: 'maxiSampler::useLimiter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(782): error C2864: 'maxiSampler::useFilter' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(783): error C2864: 'maxiSampler::distortion' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(784): error C2864: 'maxiSampler::inverse' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(787): error C2864: 'maxiSampler::gain' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(789): error C2864: 'maxiSampler::currentVoice' : only static const integral data members can be initialized within a class
2>c:\users\damian\desktop\of_v0.7.4_vs2010_release\addons\ofxmaxim\libs\maximilian.h(799): error C2864: 'maxiSampler::sustain' : only static const integral data members can be initialized within a class
How to get multiple voices in an Oscillator ? I Browser through the library and I didn't find anything that adds sort of unison and detune to an oscillator.
I am looking forward to create a Synth using Maximilian and JUCE, but most synths have a feature to add multiple voices and detune them slightly to get a richer sound. (Not to be confused with Polyphony which is multiple notes).
Is There any way to get it working ? Or there is no feature as such ?
Hi Mick. Just letting you know I found a problem with the loopRecord method. I finally got it work by commenting out the 2 lines in the image below. Looking at the code I cant understand why they are in there in the 1st place but commenting them out allows the method to work as expected.
Also I made an example the demonstrates live granular synthesis using the microphone that can be found here -> https://github.com/JoshuaBatty/LiveAudioGranularSynthesis-Maxim
Would be fine if you felt like including it as an example with the ofxMaxim download, I have wanted to use Maxim to do this for years but only just got around to working out how to do it properly so maybe others may be interested?
Hey,
i got a couple of errors after adding the ofxMaxim addon to the openframeworks ios ExampleApp. I'm not sure if i did it the wrong way but your example isn't running as well.
ld: warning: ignoring file ../../../libs/FreeImage/lib/ios/freeimage.a, missing required architecture i386 in file ../../../libs/FreeImage/lib/ios/freeimage.a (2 slices)
ld: warning: ignoring file ../../../libs/glu/lib/ios/glu-ios.a, missing required architecture i386 in file ../../../libs/glu/lib/ios/glu-ios.a (2 slices)
Undefined symbols for architecture i386:
"_create_fftsetup", referenced from:
fft::fft(int) in fft.o
"_ctoz", referenced from:
fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
"_destroy_fftsetup", referenced from:
fft::~fft() in fft.o
"_fft_zrip", referenced from:
fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
"_mmul", referenced from:
maxiMFCCAnalyser<float>::dct(float*) in maxiMFCC.o
maxiMFCCAnalyser<float>::melFilterAndLogSquare(float*) in maxiMFCC.o
"_mmulD", referenced from:
maxiMFCCAnalyser<double>::dct(double*) in maxiMFCC.o
maxiMFCCAnalyser<double>::melFilterAndLogSquare(float*) in maxiMFCC.o
"_vDSP_polar", referenced from:
fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
"_vDSP_rect", referenced from:
fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
"_vDSP_vclip", referenced from:
fft::convToDB_vdsp(float*, float*) in fft.o
"_vDSP_vdbcon", referenced from:
fft::convToDB_vdsp(float*, float*) in fft.o
"_vDSP_vdpsp", referenced from:
maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
"_vDSP_vlint", referenced from:
maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
"_vDSP_vramp", referenced from:
maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
"_vDSP_vsdiv", referenced from:
maxiMFCCAnalyser<float>::dct(float*) in maxiMFCC.o
"_vDSP_vsdivD", referenced from:
maxiMFCCAnalyser<double>::dct(double*) in maxiMFCC.o
"_vDSP_vsmsa", referenced from:
maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
"_vDSP_vspdp", referenced from:
maxiMFCCAnalyser<double>::melFilterAndLogSquare(float*) in maxiMFCC.o
"_vmul", referenced from:
fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
"_vsmul", referenced from:
fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
maxiCollider::createGabor(btAlignedObjectArray<float>&, float, float, unsigned int, float, float, float) in maxiAtoms.o
"_ztoc", referenced from:
fft::powerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
fft::inversePowerSpectrum_vdsp(int, float*, float*, float*, float*) in fft.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
When reading the first channel from a 2 channel file, the read function crashes.
this code seems wrong
if (myChannels>1) {
int position=0;
int channel=readChannel*2;
for (int i=channel;i<myDataSize +6;i+=(myChannels*2)) {
myData[position]=myData[i];
myData[position+1]=myData[i+1];
position+=2;
}
}
I removed the +6 from this line and so the crash no longer occurs;
for (int i=channel;i < myDataSize +6;i+=(myChannels*2)
so now it looks like this
for (int i=channel;i<myDataSize ;i+=(myChannels*2) // removed +6
why is that +6 there? the index of myData should not go beyond myDataSize?
Been a while since I looked at this. But trying to compile on Ubuntu 13.10 I get the following (from the command line).
OSS :
RtAudio.cpp:6391:23: fatal error: soundcard.h: No such file or directory
#include "soundcard.h"
ALSA :
RtAudio.cpp:5148:28: fatal error: alsa/asoundlib.h: No such file or directory
#include <alsa/asoundlib.h>
Jack :
RtAudio.cpp:1798:23: fatal error: jack/jack.h: No such file or directory
#include <jack/jack.h>
Are there files? Submodules missing? Or is there something I need to install / do before trying to compile?
Can be found here: https://github.com/micknoise/Maximilian/blob/master/main.cpp#L8
Took me a min to find this. The error message was less than helpful and should also be fixed here: https://github.com/micknoise/Maximilian/blob/master/maximilian.cpp#L646
Hello, I'm trying to implement the clock in openFrameworks, but it is not working as expected.
Here my code:
//header
void audioOut(float * output, int bufferSize, int nChannels);
double outputs[2];
int bufferSize;
int sampleRate;
ticksPerBeat = 4; // number of ticks per beat
tempo = 140; // beats Per Minute
ofxMaxiOsc myOscill;
maxiClock myClock;
int counter = 0;
double frequency = 800;
Here the app.cpp file
void ofApp::setup(){
sampleRate = 44100;
bufferSize = 512;
ofxMaxiSettings::setup(sampleRate, 2, bufferSize);
myClock.setTempo(tempo);
myClock.setTicksPerBeat(ticksPerBeat);
ofSoundStreamSetup(2,2,this, sampleRate, bufferSize, 4);
}
void ofApp::audioOut(float * output, int bufferSize, int nChannels) {
myClock.ticker();
if (myClock.tick) {
cout << "no" << endl;
frequency += 200;
};
if(counter%10){
frequency = 800;
}
for (int i = 0; i < bufferSize; i++){
double wave = myOscill.sinewave(frequency) * 0.8;
output[i*nChannels ] = wave;
output[i*nChannels + 1] = wave;
}
cout << frequency<< endl; //not changing
}
I have tried to compile and I get the following error:
maximilian.cpp:222: error: โmemsetโ was not declared in this scope
maximilian.cpp:401: error: โstrcmpโ was not declared in this scope
I have added this line to maximilian.h
#include <cstring>
Hi,
Today I've tried to compile and run Maximilian's example program under VS2010 on Windows7, everything is correct except some memory alloc & dealloc problems:
In maximilian.cpp, the maxiSample class member 'myData' and 'temp' will be inited by 'malloc' method in read() method, but in its destractor method, these members are released by 'delete' which is not so compatible with 'malloc', there I think we should use 'free' instead~~~
The second problem is 'temp', it is inited by malloc too, but then it is assigned:
temp = (short_) malloc(myDataSize * sizeof(char));
temp=(short_)myData;
This will cause memory leak and also will trigger a invalid memory access in maxiSample's destractor method since there the program release the same memory twice:
if (myData) delete[] myData;
if (temp) delete[] temp;
So I think maybe we should use 'memcpy' instead of direct assignment when init temp :)
Regarding the openFrameworks installing instruction, I think they can be improved as follow:
If you want I can make a PR for the Readme file.
And, many thanks for your work on Maximilian ;)
I've noticed the sample.length is getting set differently in maxiSample.read() than it is when calling sample.getLength().
Also it seems to be a fairly ambiguous method name since getLength() doesn't return any values but it does actually mutate the maxi sample which is pretty surprising.
i'm trying to compile a small app i got running is OSX and tried to port it to Ubuntu (CodeBlocks 10.05)
i got this errors :
../../../addons/ofxMaxim/libs/maxiMFCC.h|62|error: there are no arguments to โmallocโ that depend on a template parameter, so a declaration of โmallocโ must be available [-fpermissive]|
../../../addons/ofxMaxim/libs/maxiMFCC.h|67|error: there are no arguments to โmallocโ that depend on a template parameter, so a declaration of โmallocโ must be available [-fpermissive]|
../../../addons/ofxMaxim/libs/maxiMFCC.h||In member function โvoid maxiMFCCAnalyser::calcMelFilterBank(double, int)โ:|
../../../addons/ofxMaxim/libs/maxiMFCC.h|128|error: there are no arguments to โmallocโ that depend on a template parameter, so a declaration of โmallocโ must be available [-fpermissive]|
../../../addons/ofxMaxim/libs/maxiMFCC.h|139|error: there are no arguments to โmallocโ that depend on a template parameter, so a declaration of โmallocโ must be available [-fpermissive]|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp||In member function โvoid maxiMFCCAnalyser::dct(T_) [with T = double]โ:|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp|16|error: โvDSP_mmulDโ was not declared in this scope|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp|18|error: โvDSP_vsdivDโ was not declared in this scope|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp||In member function โvoid maxiMFCCAnalyser::dct(T_) [with T = float]โ:|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp|23|error: โvDSP_mmulโ was not declared in this scope|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp|25|error: โvDSP_vsdivโ was not declared in this scope|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp||In member function โvoid maxiMFCCAnalyser::melFilterAndLogSq_Part2()โ:|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp|58|error: โpowerSpectrumโ was not declared in this scope|
../../../addons/ofxMaxim/libs/maxiMFCC.cpp||In member function โvoid maxiMFCCAnalyser::melFilterAndLogSq_Part2() [with T = double]โ:|
i've already added the #include as memset and memalloc where not found ...
hope it's usefull ...
e*
Hi!
First, thanks and congratulations with Maximilian, it works great and is well optimized.
I use it on OpenFrameworks for iOS. I don't manage to do a simple stuff: a very basic granular synthesis. I would like to play a orchestral wav file with position (in the wav file) as a parameter. I explain, i would like to have 16 grain players, and every xx milliseconds (xx = random numbers) one of these players plays a very short part of the file (at the right play head position), with no loop. Because there are 16 players and they play very quickly small grains, it gives you the impression that the play head stays immobile. I made a Max/MSP patch and it works well, but i cannot make it in OpenFrameworks / Maximilian.
Hope my explanation is obvious. Thanks for your help!
Cheers,
Olivier
These feel like they should be static functions not methods
Also we have .mtof now letโs have
.ftom .atodb .dbtoa
I've just been watching the talk from the JUCE summit here: https://www.youtube.com/watch?v=H-Av78mtFF4. Looks like a cool DSP library which is simple to integrate.
I was considering adding Android support to it (I am one of the authors of the Oboe library for Android) and was just wondering whether Maximillian was still active?
Hello I am new to C++ and would like some help on getting started with Maximilian....
I am on Windows XP running Visual Studio 2010 Premium
Any help in sorting these errors would be great
1>------ Build started: Project: maximilianTestWindowsVS2010, Configuration: Debug Win32 ------
1>Build started 13/06/2012 16:08:38.
1>InitializeBuildStatus:
1> Touching "Debug\maximilianTestWindowsVS2010.unsuccessfulbuild".
1>ClCompile:
1> maximilian.cpp
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.h(262): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(371) : see declaration of 'sprintf'
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(408): warning C4800: 'void *' : forcing value to bool 'true' or 'false' (performance warning)
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(456): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(534): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(542): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(553): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(560): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(591): warning C4244: 'initializing' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(613): warning C4244: 'initializing' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(732): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(740): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(751): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(758): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(770): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(781): warning C4244: 'initializing' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(803): warning C4244: 'initializing' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(902): warning C4244: '=' : conversion from 'double' to 'long', possible loss of data
1>c:\documents and settings\nexphase\my documents\visual studio 2010\projects\maximilian\maximilian.cpp(398): error C4716: 'maxiSample::loadOgg' : must return a value
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:03.93
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
hi, is it possible to update the iOS example to run with the latest OF (0073)
atm is throwing a bunch of errors.
Sorry this is not really an issue. Just very curious if ofx Maximilian is compatible with ofx rPi3? Any foreseeable challenges/issues? Thanks!!!
Get rid of vectorDbl
Map pan argument to -1 and 1
Hey Mick going back a few years to you mentioned in the oF forum and in you paper on Maximilian released in 2010 in the future work section that you were aiming to make a phase vocoder example with Maxi. Just wondering if you had made a start on this yet or if you had even an alpha version I would be able to take a look at. Really looking to extend my audiovisual granular app to include phase vocoding so I can mess with integrating it with visual slit scanning. Would love to be able to do this with Maxi if possible.
Any news? Cheers.
Hey Mick, I noticed this +6
in the break condition of the for loop. I removed this +6 a while back and it fixed a few issues I was having at the time and notice that it is still in the recent version of Maxi. Just wanted to know what the '6' represents?
Thanks.
Hello, I've run into an issue where if you call maxiIFFT::setup with a _fftSize less than _windowSize, the call to fft::genWindow will cause a memory stomp.
This is the section in question, that I believe is wrong, because it's using fftSize instead of windowSize.
window = (float*) malloc(fftSize * sizeof(float));
memset(window, 0, fftSize * sizeof(float));
Maybe I don't have a clear understanding of how this code is supposed to work, but this seemed wrong to me. Or at a minimum I think that maxiFFT::setup should validate the sizes and catch the case where the memory would be stomp.
Is there a way to set the phase of maxiOsc? I tried void phaseReset(), but thats working for me.
Thanks,
Reza
Hi Mick,
it would be nice to have a Stop method for interrupting the grains' playback.
[0x19f6bf000] AVAudioSession.mm:692:
-[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has running I/O. All I/O should be stopped or paused prior to deactivating the audio session.
This error comes up when the stream is closed while playback is happening, when exiting the app.
ofSoundStreamStop();
ofSoundStreamClose();
Cheers,
F0
The current square and triangle waves really need some work. The current functions are just a basic square/triangle wave and do not take aliasing into account. I am currently trying to figure out how to limit the number of harmonics but I am still very new to audio programming in general, so I am not sure if I will be able to solve this issue myself.
I find a bit confusing the 3 different types that are available for the envelope in ofxMaxim. Naming maxiEnv
, ofxMaxiEnvelope
and maxiEnvelope
. Is there a reason to not unify all of them in one type?
I've used maxiEnv
because the other 2 don't have the methods for the filters, likelowres
.
If you want, I could open a PR.
Thanks again for your library and your addon, I find it really useful!
Shyamals-iMac-174:Maximilian shyamalchandra$ g++ -Wall -D__MACOSX_CORE__ -o maximilian main.cpp RtAudio.cpp player.cpp maximilian.cpp -framework CoreAudio -lpthread
In file included from main.cpp:1:
./maximilian.h:242:18: warning: field 'temp' will be initialized after field 'position' [-Wreorder]
maxiSample():temp(NULL),position(0), recordPosition(0), myChannels(1), mySampleRate(maxiSettings::sampleRate) {};
^
./maximilian.h:436:15: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
long holdtime=1;
^
./maximilian.h:644:19: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double output = 0 ;
^
./maximilian.h:645:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD =0 ;
^
./maximilian.h:647:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:648:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:649:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = false;
^
./maximilian.h:650:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:651:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:654:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:669:19: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double output = 0 ;
^
./maximilian.h:670:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD = 0 ;
^
./maximilian.h:672:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:673:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:674:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = true;
^
./maximilian.h:675:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:676:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:679:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:699:19: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double output = 0;
^
./maximilian.h:700:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD = 0;
^
./maximilian.h:702:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:703:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:704:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = false;
^
./maximilian.h:705:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:706:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:709:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:752:22: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
int originalPitch=67;
^
./maximilian.h:754:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD = 0;
^
./maximilian.h:758:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:759:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:760:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = false;
^
./maximilian.h:761:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:762:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:765:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:767:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
int currentVoice=0;
^
./maximilian.h:777:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool sustain = true;
^
36 warnings generated.
RtAudio.cpp:1083:74: warning: '&' within '|' [-Wbitwise-op-parentheses]
formatFlags = description.mFormatFlags | kLinearPCMFormatFlagIsFloat & ~kLinearPCMFormatFlagIsSignedInteger;
~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
RtAudio.cpp:1083:74: note: place parentheses around the '&' expression to silence this warning
formatFlags = description.mFormatFlags | kLinearPCMFormatFlagIsFloat & ~kLinearPCMFormatFlagIsSignedInteger;
^
( )
1 warning generated.
In file included from player.cpp:11:
./maximilian.h:242:18: warning: field 'temp' will be initialized after field 'position' [-Wreorder]
maxiSample():temp(NULL),position(0), recordPosition(0), myChannels(1), mySampleRate(maxiSettings::sampleRate) {};
^
./maximilian.h:436:15: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
long holdtime=1;
^
./maximilian.h:644:19: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double output = 0 ;
^
./maximilian.h:645:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD =0 ;
^
./maximilian.h:647:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:648:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:649:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = false;
^
./maximilian.h:650:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:651:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:654:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:669:19: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double output = 0 ;
^
./maximilian.h:670:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD = 0 ;
^
./maximilian.h:672:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:673:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:674:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = true;
^
./maximilian.h:675:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:676:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:679:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:699:19: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double output = 0;
^
./maximilian.h:700:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD = 0;
^
./maximilian.h:702:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:703:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:704:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = false;
^
./maximilian.h:705:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:706:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:709:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:752:22: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
int originalPitch=67;
^
./maximilian.h:754:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD = 0;
^
./maximilian.h:758:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:759:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:760:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = false;
^
./maximilian.h:761:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:762:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:765:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:767:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
int currentVoice=0;
^
./maximilian.h:777:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool sustain = true;
^
36 warnings generated.
In file included from maximilian.cpp:34:
./maximilian.h:242:18: warning: field 'temp' will be initialized after field 'position' [-Wreorder]
maxiSample():temp(NULL),position(0), recordPosition(0), myChannels(1), mySampleRate(maxiSettings::sampleRate) {};
^
./maximilian.h:436:15: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
long holdtime=1;
^
./maximilian.h:644:19: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double output = 0 ;
^
./maximilian.h:645:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD =0 ;
^
./maximilian.h:647:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:648:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:649:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = false;
^
./maximilian.h:650:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:651:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:654:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:669:19: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double output = 0 ;
^
./maximilian.h:670:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD = 0 ;
^
./maximilian.h:672:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:673:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:674:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = true;
^
./maximilian.h:675:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:676:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:679:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:699:19: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double output = 0;
^
./maximilian.h:700:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD = 0;
^
./maximilian.h:702:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:703:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:704:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = false;
^
./maximilian.h:705:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:706:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:709:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:752:22: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
int originalPitch=67;
^
./maximilian.h:754:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double outputD = 0;
^
./maximilian.h:758:24: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useDistortion = false;
^
./maximilian.h:759:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useLimiter = false;
^
./maximilian.h:760:20: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool useFilter = false;
^
./maximilian.h:761:23: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double distortion = 0;
^
./maximilian.h:762:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool inverse = false;
^
./maximilian.h:765:17: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
double gain = 1;
^
./maximilian.h:767:21: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
int currentVoice=0;
^
./maximilian.h:777:18: warning: in-class initialization of non-static data member is a C++11 extension
[-Wc++11-extensions]
bool sustain = true;
^
./maximilian.h:70:9: warning: private field 'frequency' is not used [-Wunused-private-field]
double frequency;
^
./maximilian.h:72:9: warning: private field 'startphase' is not used [-Wunused-private-field]
double startphase;
^
./maximilian.h:73:9: warning: private field 'endphase' is not used [-Wunused-private-field]
double endphase;
^
./maximilian.h:75:9: warning: private field 'tri' is not used [-Wunused-private-field]
double tri;
^
./maximilian.h:117:9: warning: private field 'frequency' is not used [-Wunused-private-field]
double frequency;
^
./maximilian.h:119:9: warning: private field 'startphase' is not used [-Wunused-private-field]
double startphase;
^
./maximilian.h:120:9: warning: private field 'endphase' is not used [-Wunused-private-field]
double endphase;
^
./maximilian.h:134:9: warning: private field 'gain' is not used [-Wunused-private-field]
double gain;
^
./maximilian.h:135:9: warning: private field 'input' is not used [-Wunused-private-field]
double input;
^
./maximilian.h:139:9: warning: private field 'cutoff1' is not used [-Wunused-private-field]
double cutoff1;
^
./maximilian.h:158:9: warning: private field 'input' is not used [-Wunused-private-field]
double input;
^
./maximilian.h:159:9: warning: private field 'two' is not used [-Wunused-private-field]
double two[2];
^
./maximilian.h:160:9: warning: private field 'four' is not used [-Wunused-private-field]
double four[4];
^
./maximilian.h:161:9: warning: private field 'eight' is not used [-Wunused-private-field]
double eight[8];
^
50 warnings generated.
Undefined symbols for architecture x86_64:
"_CFRelease", referenced from:
RtApiCore::getDeviceInfo(unsigned int) in RtAudio-36f666.o
"_CFStringGetCString", referenced from:
RtApiCore::getDeviceInfo(unsigned int) in RtAudio-36f666.o
"_CFStringGetLength", referenced from:
RtApiCore::getDeviceInfo(unsigned int) in RtAudio-36f666.o
"_CFStringGetSystemEncoding", referenced from:
RtApiCore::getDeviceInfo(unsigned int) in RtAudio-36f666.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Shyamals-iMac-174:Maximilian shyamalchandra$
This is the output. What should I do to solve this problem?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.