Forum rss-feed

Forum

Developers: Building on OSX

Most Recent

written by: BobThDog

I turned app nap off for the app.

Sorry to be the bearer of bad news but my repo is up to date, I just did a pull to check.

Andy

written by: BobThDog

Wed, 30 Apr 2014 08:44:47 +0100 BST

Hi Guys,

What magic set of installs do I need to build the source.

I have tried a variety of Xcode version with no luck, is there a list somewhere of what needs to be installed to build.

Thanks for any help

Andy


written by: cellular_model

Wed, 30 Apr 2014 09:03:18 +0100 BST

Could you please be more specific on the problems you experienced?

I successfully built Eigend a couple of month ago on Lion.

I followed closely this guide:

http://myeigenharp.wordpress.com/2013/03/31/open-source-is-a-wonderful-thing/

When some things went awry I asked Mark in this post:

https://plus.google.com/110439832872860863717/posts/SS1oFMBQ435

and all was sorted out.

One thing I remember clearly is that I had some problem with building ctags so I disabled them by setting an environment variable that I found in the makefile using grep.

Hope it helps.


written by: BobThDog

Wed, 30 Apr 2014 09:29:04 +0100 BST

Hi,

Thanks for the reply.

http://myeigenharp.wordpress.com/2013/03/31/open-source-is-a-wonderful-thing/ is the guide I tried to follow.

The Xcode 4 command line tools do not include GCC, the setup scripts seem to require maybe that Xcode 3 is first installed then Xcode 4, this is a guess as developer_old is used in the setup script.

Cheers

Andy


written by: cellular_model

Wed, 30 Apr 2014 11:06:29 +0100 BST

While I don't remember having gcc missing when I compiled it, here is
something that could help

http://stackoverflow.com/questions/9353444/how-to-use-install-gcc-on-mac-os-x-10-8-xcode-4-4

The thing is, there could be a simpler explanation. The build scripts uses a different gcc name than the one being usually installed so in Mark's guide there is a step in which he creates a soft link to rename it. I remember myself overlooking that step at first.


written by: TheTechnobear

Wed, 30 Apr 2014 13:41:57 +0100 BST

>The Xcode 4 command line tools do not include GCC
the command line tools has everything you need need build.
(Ive recently just done this on a fresh install on my old iMac, without Xcode installed)

as above, hence why i said a link should be created, this avoid changing the build script.

are you building on Mavericks? (10.9)
I think the current eigenlabs build is only mavericks, however in my github repo, i have a fork that works for 10.8/7.
(this is not explicitly in the above post, as my post was prior to Mavericks being released)


written by: BobThDog

Wed, 30 Apr 2014 14:14:41 +0100 BST

Hi Mr Bear,

Nope, I created a 10.8 VM and installed the Xcode 4 command line tools.

I created the symbolic links

The only compiler provided is llvm which doesn't support some of the flags used in the scripts.

localhost:EigenD andrewcapon$ make
scons: Reading SConscript files ...
platform: macosx-i386 python: /usr/pi/bin/python
clearing /Users/andrewcapon/projects/eigenlabs/EigenD/tmp/stage
clearing /Users/andrewcapon/projects/eigenlabs/EigenD/tmp/pkg
building release 2.1.0-experimental compatible with 2.1
scons: done reading SConscript files.
scons: Building targets ...
tmp/obj/plg_arranger/src/arranger_native_python.os (g++)
cc1plus: error: unrecognized command line option "-Wno-unused-private-field"
cc1plus: error: unrecognized command line option "-Wno-c++11-extensions"
scons: *** [tmp/obj/plg_arranger/src/arranger_native_python.os] Error 1
scons: building terminated because of errors.
make: *** [all] Error 2

localhost:EigenD andrewcapon$ ~/bin/gcc-4.2 --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I would rather build on mavericks, this is what I started on. On Mavericks I get:

sh: g++-4.0: command not found

Cheers

Andy



written by: BobThDog

Wed, 30 Apr 2014 15:11:23 +0100 BST

Aha got the eigenlabs one going on Mavericks, I hadn't checked out 2.1, what a numptie!


written by: BobThDog

Wed, 30 Apr 2014 15:22:52 +0100 BST

Also Mr Bears one seems to be building on mavericks, sorry for my ignorance, I was flailing around!


written by: TheTechnobear

Wed, 30 Apr 2014 17:10:28 +0100 BST

Yeah, sorry about that... the current branches are all 10.9 only (though as mentioned I have a 10.8 branch in my repo)
Yes, I think most of us have moved to 10.9 (though i recently downgraded a machine to 10.8, to ensure backwards compatibility with the current eigenlabs release.

as stated elsewhere, the binaries of agents currently not included in open source (fingerer, audio agent) from the commercial build (non pro build) will work.
for this reason, stick to 2.0 builds not 2.1... as the 2.0 audio agent is not compatible with 2.1.

hopefully these anomalies will be resolved in the future.

(the good news is once you get it all compiling, its pretty straightforward :))

BTW, what are your plans for the build... anything in particular?


Mark


written by: BobThDog

Wed, 30 Apr 2014 18:03:19 +0100 BST

Hi Mark,

I got it built, audio doesn't work but that doesn't bother me at all.

As a version 1 user all I wanted was a lightweight EigenD outputting midi or OSC, so I thought I would build it and see if it worked.

The midi output is working fine.

I haven't tried the OSC bit yet, tomorrow for that.

Thnaks for the help

Andy


written by: TheTechnobear

Wed, 30 Apr 2014 20:02:22 +0100 BST

cool, the osc agent is very straight forward.

a couple of things about it ... from playing with it with Max, and also seeing what David Jameson has done in Max with it.

a) to get the osc agent to send messages, you have to send it a register command
( this is so that multiple clients can receive messages on different ports)

b) you cannot activate the LEDs through it,
you could either use illuminator, which support remote messages (David uses this)
however, recently I created a new midi monitor agent, which allows the lights to be lit using midi note messages.
- but perhaps I'm just obsessed with the LEDs :)

c) OSC agent sends all key information, x, y, z but not velocity
eigenharps have continuous pressure on keys NOT velocity.
this becomes important if you wish to in your osc client translate to midi for audio units etc.
2 solutions:
i) sends the midi messages as well as the OSC messages, using the midi for the initial velocity and then use OSC for the subsequent continuous control (David uses this approach)
ii) calculate the velocity yourself, which after all is just pressure change over time.

This lack of velocity may not really matter, depending upon your application, and as above there are solutions.







written by: BobThDog

Thu, 1 May 2014 07:21:47 +0100 BST

Hi Mark,

Thanks for the useful and informative post.

I'm just about to have a look at the OSC stuff connected to my Kyma system, I will let you know how it goes.

Cheers

Andy


written by: BobThDog

Thu, 1 May 2014 10:13:39 +0100 BST

Not so much luck with the OSC setup.

I have oscillator running on port 8000 on my machine.

I use max to send "/register-fast si keyboard_1 8000" to port 9999

I press the pico buttons and no OSC is sent.

I checked to see what was running on port 9999:

$ sudo lsof -i :9999
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
eigend 1931 andrewcapon 28u IPv4 0x80f65ba955ed8f31 0t0 UDP *:distinct


So that looks good.

The top buttons and bottom buttons randomly light up on the pico, and that is all I have.


Any ideas?


written by: TheTechnobear

Thu, 1 May 2014 11:04:34 +0100 BST

ooh, you have a Kyma, cool… Ive been considering one for a bit now… will ask you about it later :)

k, first thing, Id download and build osctools (actually, its in the eigenD source, but might be easier to do separately)
this gives you oscsend and oscdump, which are very useful for you to send that register command, and oscdump dumps all incoming messages so useful to help you 'decode' them.

you do have to have your client running before the register is sent, so eigenD can connect to the port.

funny i do remember something about the lights on the pico, I'll have to check…
does this happen every time you try it?

are you using a 2.1 or 2.0 build?
i can see above you check for the listening connection, it might be interesting to see if eigenD has formed a connection back to your client.

Its bound to be something simple, I've used the osc agent quite a few times for connecting to things like max and reaktor and usually use the osc setup as a testing source… so it does work fine.
(just eluding me, why you would have trouble)

try oscsend/dump so you know its not something odd in your max patch, or osc client.



written by: BobThDog

Thu, 1 May 2014 12:32:38 +0100 BST

Thnaks, Oscsend got it going.

It runs for a minute or so then the two top lights and two bottom lights flicker like mad and go dark, then it is dead.

A restart of EigenD brings it back.

I am using 2.1


written by: TheTechnobear

Thu, 1 May 2014 14:27:24 +0100 BST

ok, the you should get 4 red lights on the round buttons but that is all.

ive tested it with 2.0 and a 2.1 build and the experimental setup works fine.

and it doesnt matter if the client is connected or not (my mistake)

i have to say, I have seen this before (lights going mad)...
This was when I was playing with OSC and Kaivo, and it was caused by AppNap kicking in on EigenD and so starving EigenD.
Geert I thought had fixed this, but perhaps its not working quite right. (you are using a recent pull from github, from the eigenlabs repo?)
anyway, find my post about AppNap here, and try the suggestion - see if that resolves it.

the other possibilities is USB clash, perhaps with another device.. so remove other devices, try other ports, try a usb hub... also reboot your machine just in case :)

the only thing i can suggest is running with debug:
/usr/pi/release-2.1.0-experimental/bin/eigend --stdout --debug

but I'm not sure this is going to help much, it will probably just say the pipe starvation, which is as I've said above the reason the lights go mad.

btw, one thing to bare in mind, by default this is sending data full rate over osc, this can kill applications which cannot cope.
to reduce the rate you will need to use the following belcanto (via commander)
osc output hey decimation to 10 set
where 10 is number of milliseconds decimation.


good luck



written by: dhjdhj

Thu, 1 May 2014 14:28:50 +0100 BST

Mark, I'll swap you a MIDI agent for controlling lights for a working poly matrix VST system in Max :-)


written by: BobThDog

Thu, 1 May 2014 14:54:18 +0100 BST

Thanks Mark, I will try out your suggestions and get back to you...


written by: BobThDog

Thu, 1 May 2014 15:13:41 +0100 BST

It was the App Nap doing it.

Working perfectly now, thanks very very much for your help with this.

I'm pretty chuffed now, this is the functionality I wanted from my Pico all along.

Thanks

Andy


written by: TheTechnobear

Thu, 1 May 2014 15:35:26 +0100 BST

great news...

did you fix it with my suggestion, or was your repo out of date?
( important to know if we need to take another look at the 2.1 app nap fix again or not)
thanks
mark



Please log in to join the discussions