Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Vampire

Pages: [1]
1
Plugin Development / Debugging / Console output
« on: March 21, 2016, 17:03:38 »
Is there a good way to debug?

I'm trying to do some simple std::cout or std::cerr commands. Where would I see these when running the Sonic Visualiser application and loading my plugin?

or is there another way to inspect elements?

2
Plugin Development / Re: linking files
« on: March 21, 2016, 14:44:26 »
thanks Chris! - working well now

I found it useful

1. in Makefile.osx, define a variable
OTHER_SRC_DIR := PathToMyFolder

I actually just added a folder to the 'skeleton' folder example and copied source, but you could add a path to existing source also.

2. in Makefile.inc
CXXFLAGS   := <other flags> -I$(OTHER_SRC_DIR)

3. add to: PLUGIN_LDFLAGS   :=  <other stuff> -framework Accelerate

(as I used the Apple internal framework Accelerate)

4. as Chris explained above
PLUGIN_SOURCES := MyPlugin.cpp $(OTHER_SRC_DIR)/ExtraSrcCode.cpp

Then the command

make -f Makefile.osx

will generate required .o objects


I'm not using gmake (any reason to pursue that on Mac OS X?) over 'make -f ...'?


3
Plugin Development / linking files
« on: March 17, 2016, 19:34:39 »
suppose MyPlugin.h has a dependency on MyClass.h

what's the standard way to link this file in?


[would it be something like:
DEPS = MyClass.h
OBJ = MyPlugin.o MyClass.o
in one of the Makefiles?
]

4
Plugin Development / Re: arch flags
« on: March 17, 2016, 18:02:22 »
as a note for future, I found that for vamp-simple-host (32bit), it's necessary to install

libsndfile

brew install libogg
brew install libvorbis
brew install flac


so that it could read the file formats

5
Plugin Development / Re: arch flags
« on: March 17, 2016, 15:45:08 »
it's looking like

if you add in both architectures to the build/Makefile.osx

you can successfully build both i386 and x86_64

I had a typo

but the compilation of the sdk and plugins (make -f build/Makefile.osx plugins) will presumably have to be for both architectures for this to work?


I now have some warning, unused parameters and empty identifiers


one thing - why does a simple 'make' not work?

6
Plugin Development / Re: arch flags
« on: March 17, 2016, 15:39:14 »
hi Chris

thanks. So I redid the tutorial

changing this line in build/Makefile.osx

to be BOTH architectures

ARCHFLAGS ?= -mmacosx-version-min=$(MINVERSION) -arch i386 -arch x86_64 -stdlib=libc++

(not just x86_64) which may have been the problem (?)


Now it seems I have built a .dylib.


1.
file structure-wise, do I have a folder with

vamp-plugin-sdk on the same level as my

my-skeleton-tutorial-plugin ?


2. a simple 'make' is unhappy
(Undefined symbols for architecture x86_64:)

whereas
make -f Makefile.osx is okay (compiles just i386 perhaps)

I still need to work out what I'm doing architecture-wise

thanks!





7
Plugin Development / arch flags
« on: March 17, 2016, 15:14:18 »
Hi,

I keep finding I get either

Undefined symbols for architecture i386

or

Undefined symbols for architecture x86_64

If I compile for x86_64, I can't test in vamp-plugin-tetser (it is 32 bit). But


when I do make -f Makefile.osx (is this still right?)
I get
6 warnings generated.
c++ -mmacosx-version-min=10.9 -arch i386 -stdlib=libc++ -Wall -Wextra -g -fPIC -I. -I../vamp-plugin-sdk    -c -o plugins.o plugins.cpp
c++ -o PreciseOnsetDetector.dylib PreciseOnsetDetector.o plugins.o -mmacosx-version-min=10.9 -arch i386 -stdlib=libc++   -dynamiclib -exported_symbols_list vamp-plugin.list ../vamp-plugin-sdk/libvamp-sdk.a
ld: warning: ignoring file ../vamp-plugin-sdk/libvamp-sdk.a, file was built for archive which is not the architecture being linked (i386): ../vamp-plugin-sdk/libvamp-sdk.a


so I'm a bit confused. Happy to just make a 32 bit version if that's what works.


any tips on compiling against one of these? Is the tutorial still working? Is nice and straight-forward but I don't get a compiled plugin from it yet.

thanks

8
Plugin Development / Re: newbie erro
« on: February 08, 2014, 01:32:32 »
I think it might be the way I'm linking the files.

If I wanted to add the simplest class, at the moment I've gone back to Skeleton example and am adding a class that does almost nothing, just has a single int value. How can I extend the Makefile to include that okay?

I would expect, for the new class called simpleClass.h, we'd write something like

simpleClass.o: simpleClass.cpp simpleClass.h

and add that to make file?

maybe now the skeleton plugin depends on that?

I'm not familiar with writing make so anyone who has experience here, would much appreciate it!

9
Plugin Development / newbie erro
« on: February 07, 2014, 15:10:55 »
I've been looking to recompile BeatRoot, but so as to get a tempo output too. Have a compiling question, it seems to find the make file and the headers and start compiling, but has the following errors:

Vampires-MacBook-Pro:pluginDev vampire$ make

g++ -mmacosx-version-min=10.5 -arch i386 -arch x86_64 -I../../vamp-plugin-sdk -Wall -fPIC   -c -o myVampPlugin.o myVampPlugin.cpp
In file included from myProcessor.h:19,
                 from myVampPlugin.cpp:17:
Peaks.h:22: error: expected constructor, destructor, or type conversion before ‘using’
Peaks.h:36: error: expected ‘,’ or ‘...’ before ‘<’ token
Peaks.h:36: error: ISO C++ forbids declaration of ‘vector’ with no type
Peaks.h:44: error: ISO C++ forbids declaration of ‘vector’ with no type
..loads of this kind of stuff..

the line in question is form Beatroot peaks.h
[line number]
[19]#include <vector>
[20]#include <cmath>
[21]
[22]using std::vector;


is this something to be fixed in the Make file?
why would it have a problem finding vector?

any tips appreciated

10
Plugin Development / Re: Bass pitch
« on: February 07, 2014, 15:06:36 »
have you looked at Matthias' pyin?

this is great for bass pitch as it is monophonic pitch tracker - but it is designed for separate bass parts - are you hoping to gte bass from a fully mixed audio track?

11
Getting and Using Vamp Plugins / Re: Can Vamp help me with this?
« on: February 04, 2014, 16:36:40 »
you could process the sound - take in buffer by buffer

choose a feature - spectral centroid, mfcc (higher parts)

turn your sample of 30sec into a list of numbers for these features

try machine learning on recognising if the sound is baby/not baby

so could vamp help? - probably - you could try taking some of the routines here and using them to get your features. You probably don't want to buld a vamp host or anything crazy. just turn audio into a feature set that you can learn on.

hope that helps a bit! I don't necessarily know how to do all the above.

Pages: [1]