thetechnobear / mi4pd Goto Github PK
View Code? Open in Web Editor NEWPure Data externals wrapping MI modules
Pure Data externals wrapping MI modules
m_pd.h
really shouldn't be present in the repository, as it is tightly coupled Pd itself.
including it here, forces to support only a specific version of Pd.
Pd is (mostly?) API & ABI compatible for the last 20 years or so, but the file does change and introduces new features, some of them automatically.
related: you might consider using pd.build as the basis for your CMake project, as (I think) it wraps much of the ugliness when using CMake with Pd.
Hello, first of all, thank you very much for all of your hard work porting these fantastic instruments to PD.
While experimenting with the lmnts~
external I encountered what I believed at the time to be an error. The strike_*
and blow_*
parameters did not seem to affect the audio output of the external. This led me to the PD forum where it appeared another user had the same issue.
This post led me to a bit of commented code that I believed to be responsible. For reference, this is the equivalent code from the Mutable Instruments repo.
Embarrassingly, I have not been able to reproduce this issue since, but I was able to compile a new version with the changes made in this PR. However, I cannot tell if these changes made any difference to the external's output.
All this is to ask: do you think it would be worthwhile to reopen the PR?
I'm a bit of a noob in regards to compiling externals, I'm trying to compile this for OSX with Xcode and this error keeps poping up "Invalid output constraint '=w' in asm". I have already included all the files needed for the project. Any help is very much appreciated!
Hello everyone, I'm trying to build these externals on windows, with no success. When I try to generate the solution with visual studio 2017 I get a lot of errors.. I think I'm missing something, someone achieve to build this on windows?
Thank you for your help
Guillaume
The Pd help file of grids is empty.
This probably fails in other scenarios but only tested on latest PatchboxOS. Checking out and following build instructions fails with this error:
[ 71%] Linking CXX shared library "../release/lib/brds~.pd_linux"
/usr/bin/ld: ../mi/libMILib.a(macro_oscillator.cc.o): relocation R_ARM_MOVW_ABS_NC against `_ZN6braids14lut_svf_cutoffE' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: ../mi/libMILib.a(analog_oscillator.cc.o): relocation R_ARM_MOVW_ABS_NC against `_ZN6braids8wav_sineE' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: ../mi/libMILib.a(digital_oscillator.cc.o): relocation R_ARM_MOVW_ABS_NC against `_ZN6braids25lut_oscillator_incrementsE' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: ../mi/libMILib.a(macro_oscillator.cc.o): in function `braids::MacroOscillator::RenderMorph(unsigned char const*, short*, unsigned int)':
macro_oscillator.cc:(.text+0x2048): dangerous relocation: unsupported relocation
/usr/bin/ld: ../mi/libMILib.a(macro_oscillator.cc.o): in function `.LANCHOR1':
macro_oscillator.cc:(.data+0x0): dangerous relocation: unsupported relocation
/usr/bin/ld: macro_oscillator.cc:(.data+0x8): dangerous relocation: unsupported relocation
...
I believe the correct fix is to add -fPIC
to CMAKE_CXX_FLAGS_RELEASE
-- I will follow up with a PR.
Is it buildable under Linux x86 64bits?
I get:
/Mi4Pd/mi/stmlib/dsp/dsp.h:133: Error: no such instruction: `ssat %r14d,$16,%r12d'
18:17 $ lsb_release -a
LSB Version: core-9.20170808ubuntu1-noarch:printing-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic
18:20 $ uname -a
Linux little 4.15.0-128-generic #131-Ubuntu SMP Wed Dec 9 06:57:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Hi, bit of a Linux newbie here trying his best to compile these cool externals that you've so kindly shared.
I'm running into an error that I do not know how to approach (googled a bit but thought I'd ask here before doing something stupid).
This is what I've tried after cloning the git project:
cd Mi4Pd
mkdir build
cd build
cmake ..
make
This is the terminal output
68%] Building CXX object mi/CMakeFiles/MILib.dir/elements/dsp/voice.cc.o
[ 70%] Linking CXX static library libMILib.a
[ 70%] Built target MILib
Scanning dependencies of target clds
[ 72%] Building CXX object clds/CMakeFiles/clds.dir/clds~.cpp.o
[ 73%] Linking CXX shared library "../release/lib/clds~.pd_linux"
/usr/bin/ld: ../mi/libMILib.a(granular_processor.cc.o): relocation R_X86_64_PC32 against symbol `ZN6stmlib15unsafe_bit_castIjfEET_T0' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [clds/CMakeFiles/clds.dir/build.make:96: release/lib/clds~.pd_linux] Error 1
make[1]: *** [CMakeFiles/Makefile2:141: clds/CMakeFiles/clds.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
Any thoughts?
Thanks.
I'd love to use the externals but don't know how to compile and even took Xcode off my system to save needed space. Is there a Mac compiled version of the group anywhere?
linux@linux-VirtualBox:$ cd '/home/linux/Scrivania/Mi4Pd-ee4913f4c823946adf78c2d64efd932250a28f09/build'/Scrivania/Mi4Pd-ee4913f4c823946adf78c2d64efd932250a28f09/build$ make
linux@linux-VirtualBox:
[ 68%] Built target MILib
[ 69%] Linking CXX shared library "../release/lib/brds~.pd_linux"
/usr/bin/ld: ../mi/libMILib.a(macro_oscillator.cc.o): relocation R_X86_64_PC32 against symbol `_ZN6braids14lut_svf_cutoffE' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: link finale non riuscito: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [brds/CMakeFiles/brds.dir/build.make:85: release/lib/brds~.pd_linux] Errore 1
make[1]: *** [CMakeFiles/Makefile2:331: brds/CMakeFiles/brds.dir/all] Errore 2
make: *** [Makefile:84: all] Errore 2
Hi Technobear, i've installed latest cmake but getting this error, am i missing something?
Thanks
Complains on opening that the class decl should have a GIMME.
I see that in this case it does, it's just missing a zero at the end.
Incidentally, I've fixed this error before in my fork of the spoitras/Pd-Grids version. Here's the commit:
S
in reference to #8
I'm still getting the same error, here it is in full:
/GIT-work/Pd/Mi4Pd/mi/stmlib/dsp/dsp.h:150:33: error: invalid output constraint
'=w' in asm
__asm ("vsqrt.f32 %0, %1" : "=w" (result) : "w" (x) );
^
1 error generated.
make[2]: *** [mi/CMakeFiles/MILib.dir/stmlib/dsp/units.cc.o] Error 1
make[1]: *** [mi/CMakeFiles/MILib.dir/all] Error 2
make: *** [all] Error 2
I followed all the build instructions
cmake version 3.14.1
macOS 1014.6
cheers
These lmnts parameters have no effect on the output:
blow_level
blow_flow
blow_timbre
strike_level
strike_mallet
strike_timbre
Build documentation misses the following step (after cloning the repository):
git submodule update --init
Hello Mark,
Thanks for the amazing work you've done here. I am having some trouble with these modules on Patchbox OS with the Pisound. I've posted on the Blokas forums (https://community.blokas.io/t/orac-question-braids-out-of-tune/2294/3) but this might be a better place to ask - happy to do my own builds etc (but need a bit of help if you can spare it). My problem is that the modules are out of tune. Now, I've seen that they need a 48k samplerate and I've done that (and tried different options) and as far as I can tell I am running at 48k but the MI synths in Orac around about 130 cents sharp. So right now I've got them tuned down one semitone and I've tuned my other synths about ~30 cents or so.
I'm running the Patchbox OS with the latest updates available. I'm not sure if this includes your latest patch with the samplerate checks or not. I guess, to be honest, I'm finding it hard to get started with diagnosis.
If you had a minute to point me in the right direction I'd appreciate it very much but I'm fully aware you have other demands on your time.
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.