Forum rss-feed

Forum

General Discussion: EigenD - community release

Most Recent

written by: PascalGwosdek

Sorry for not responding for so long. After a longer break, I finally found time again to take another look, and: It's working! Thanks again for your help.

For reference, multiple issues:

- The library path needs to be extended further to be able to load all libraries which are distributed across the whole folder. Here's the script I ended up with:

ED=/usr/local/pi/release-2.1.7-community
for i in [ $ED/plugins/Eigenlabs/* $ED/* $ED/modules/* $ED/modules ]; do export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$i; done
$ED/bin/eigend --stdout --debug

- This is also solving the issue with the USB vendor & product IDs I observed - I missed that these numbers are canged by the driver upon initialization.

- I missed your udev script. Once I had it installed, I could run the starter script with user permissions - which solved the issue that running it or the call to the binary with root permissions resulted in different errors.

- Once EigenD started up and the lights on my Eigenharp went on, I was wondering for a while why I could not get any sound out. Turns out, the Pulse server did not work with EigenD for reasons yet to be figured out. I had to use the analog device directly (mode "without any conversions"), and for the Cello to work, I had to set a sample rate of 96k at a buffer size of 1024. This, however, finally works like a charm :-)

Thanks again for all your help, and in case anyone stumbles over similar problems, make sure to take a look at this thread as well which I found super useful:
https://plus.google.com/115779399986608826673/posts/M5z8Zmg52Qm?sfc=false

written by: TheTechnobear

Mon, 8 Jun 2015 20:48:08 +0100 BST

as many of you know Ive been working pretty hard over the last few months on bringing some new features and fixes to EigenD... today, Im putting out a release so that everyone can get access to these changes and additions.
(this is an experiment to see if this works, and is worth the effort)

It is a full build for all platforms, and the purpose is to start bringing you the latest updates to EigenD in a timely manner and in particular the work that I do on EigenD.

IMPORTANT: This is NOT supported by Eigenlabs, who rightly can only support official releases from Eigenlabs.com.

if you have any questions, id recommend the G+ Eigenharp community : Eigenharp G+ Community

the first release is : community-2.1.1 (as its based off 2.1) and can be installed alongside existing EigenD versions.

you can download from here: Community 2.1.1 release

Changes/Additions:
- release of linux x86_32 binary (built on Debian 7.8) with Linux support for all Eigenharps (experimental)
- release of linux x86_64 binary (built on Ubuntu 14.04) with Linux support for all Eigenharps (experimental)
- release of experimental Raspberry PI2 build include Tau/Alpha support (based on Linaro)
- support for MPE ( Multidimensional Polyphonic Expression)
- includes all my (technobear) agents with bug fixes/extensions
- new midi program chooser agent
- updated linux build
- various EigenD bug fixes
(there are probably lots more... that I've forgotten, as this work stretches back quite some time :) )

Update : updated linux builds (excluding PI2) to include VST support (experimental)

Known issues:
- installation/running of linux/PI2 builds requires linux knowledge, hopefully we can document this, and make it as easy as others installs in a future release. until this time, I doubt I will have much time to help people install these versions
- PI2 does not work with Pico currently, due to an apparent bug in the PI2 firmware.
- Scanner on Linux hangs, need to terminate it manually
- I need to document some of the changes etc

Bugs/Support:
If you find a bug/issue, please check to see if it exists in the official Eigenlabs release BEFORE reporting to me...
In particular does the bug exist in the latest stable version 2.0.74-stable and the 2.1-experimental release, if it does then you can report it to Eigenlabs (here). If not then let me know... but official releases check first!

Community involvement:
There are quite a few ways you can help, not only in development but also by testing especially on different platforms. (I usually do testing on Mac OS X, and little on Linux/Windows), also documenting install procedures for Linux would be useful.

Finally, and importantly.... many thanks to John, Geert and others at Eigenlabs for making EigenD open source, and allowing us to contribute to its future.


Thanks
Mark


written by: TheTechnobear

Sat, 6 Jun 2015 15:48:25 +0100 BST

FAQ
====

- Why community release?
Im calling it the 'community' release, as I couldn't think of a better name to differentiate it from the official Eigenlabs releases. also perhaps the rest of the community in the future can help?

- How often will there be releases?
When I have something to share :) ... in practice this is probably every few months, depending on issues found, and what Im developing.

- How stable is it?
I use it everyday and find it stable, and I do try to test new features thoroughly.
BUT its built off the 2.1-experimental Eigenlabs build, which has never been released (but again, is pretty stable), and its tends to only be me and perhaps a couple of others testing it. Its not got an army of devs/qa's so limit expectations.
Id recommend you try it... if it works great, if there is an issue lets us know!

- Why have a separate release separate from Eigenlabs.com?
I don't have access to publish new EigenD releases thru Eigenlabs, and I need to get my 'changes' out there to others, rather than just to developers. (Yes, I did ask Eigenlabs for permission, but thats not happened... anyway, this gives me a little more 'creative freedom')

- Is the code identical to the Eigenlabs repo?
No....my repo is a 'fork' containing a lot of changes and additions, this code is still open source and could be merged back into the Eigenlabs repo at any time.

- Will you merge the changes back into the main Eigenlabs repo?
No, I see little point until there is a way to get regular releases published, but my repo is open, so could be merged back into the Eigenlabs repo at any time.

- Will you merge changes from the main Eigenlabs repo into your repo?
Yes, the intention is that I will merge changes from the Eigenlabs repo, assuming they do not diverge too far from one another. (and there is no plan on my part to diverge). Practically, the Eigenlabs repo has not seen many contributions recently.

- Can I contribute to your repo?
Yes, If you want to use my repo as the basis for your change, thats fine...
If your regularly making contributions, then I can add you as a 'Contributor' (which also would be required if you were to help me do the builds)
Otherwise (and easier), Fork my repo, make changes and then send me a Pull Request.

- This could cause confusion/split
I hope not... as above, I see my repo as an extension, and changes can be merged back into Eigenlabs should the Eigenlabs repo become more active.
But I think its important that I have a way to release my code (which I added at the request of Eigenlabs) in a way that musicians can access it (as well as developers), and its better having 'release' management thought github than me sending around 'personal builds'.

at the end of the day, these builds can be used alongside the official Eigenlabs build, so its up to the individual if they wish to use or not, but I hope it will be useful to some musicians.



written by: fourcheeze

Mon, 8 Jun 2015 10:26:05 +0100 BST

This is great news. Looking forward to the 64 bit build, or can I run the 32 bit build on my 64 bit ubuntu with 32 bit libs installed?


written by: TheTechnobear

Mon, 8 Jun 2015 12:41:09 +0100 BST

in theory, yes, if you install the 32bit libs... but frankly, unless you already have other 32bit apps running, I wouldn't bother :)

I just need to find a bit of time... the issue was I downloaded the 64bit debian release, but the installer failed on vmware (a known issue)... so I need to see if this is fixed, or find another version, and then install all dev libs etc (that bit is not too bad, as Ive done it a few times now :))

anyway once thats done I will upload a version.
what would be VERY useful, is if you could try to install on a 'clean linux' build, with only runtime libs (not dev libs), and then give me a list of what you install.
I theoretically know, BUT in practice I always end up installing dev versions so I can build... but I don't want this to be a requirement for musicians... who will probably want to have a 'lightweight' linux, with minimum amount of other stuff installed. (this is the best way to get good performance)
also it would be useful if you maintained some details about your system... e.g. Linux distro/version, and 3rd party software used (e.g daws/vst) , as we have very little info about usage under linux.

oooh.. and there are some 'tricks' you will need to know to get EigenD working :)

EDIT: ok, im installing Ubuntu 64bit now... so should have a 64bit version later today or tomorrow.


written by: TheTechnobear

Mon, 8 Jun 2015 15:00:34 +0100 BST

64bit Linux (x86_64) build is now available.


written by: TheTechnobear

Mon, 8 Jun 2015 20:57:13 +0100 BST

updated linux builds (except Arm) to include VST host support (experimental)

note: VST scanner will hang, and need to be terminated manually.
(this is already a 'known' issue with the linux build even prior to hosting support)

No Arm support, as I don't know of a VST compiled for ARM, and I doubt the PI2 could cope even it if did :)

VSTs on Linux will need some care and attention.
I don't currently have time to test it, as I need to setup bitwig on my Linux setup. But I hope by adding it, this will get 'some attention' - so if you use Linux, we will need your feedback and help.

EDIT: if you are testing linux VSTs then please use a u-he synth, and also cross test it in Bitwig (to check its not the VST)... as I also own so can reproduce issues etc. Obviously also only native linux plugins, Im not getting into using windows emulations for VSTs!


written by: fourcheeze

Wed, 10 Jun 2015 13:13:42 +0100 BST

Installed the x64 ubuntu build on my workstation.

Installation was easy, thanks to dpkg.

Some issues along the way, but will bring those up on G+ when I've had a chance to have a proper play.


written by: TheTechnobear

Thu, 11 Jun 2015 12:10:18 +0100 BST

cool... yeah there are some things that Im aware of on Linux, and perhaps others that I'm not :)

could you please write down the steps you take, and then we can use these as a starting point for some installation notes.

yeah, bring things up on G+, and again, we can then incorporate these into the notes, and can also work on any issues.

Ive had some thoughts of trying to get this to work on something like a Intel NUC*... I think it could make an interesting, and relatively cheap EigenD 'station'

* Intel NUC, Ive not researched this too greatly, it may be there are other options which also have enough 'raw' power for VSTs, or an even cheaper rig, that could be used just as a MIDI/OSC gateway (which is my plan for the PI)



written by: geert

Tue, 25 Aug 2015 12:00:56 +0100 BST

I'm curious how the 64 bit builds are faring here on Linux? Maybe it's worth starting looking into 64 bit builds for MacOSX and Windows also. I would have expected quite some code and pointers needing to be changed. TheTechnobear, did you have to patch anything for the 64 bit build?


written by: TheTechnobear

Sun, 25 Oct 2015 17:34:57 +0000 GMT

updated :community-2.1.2 with Mac (inc 10.11), Win, Linux 32/64 bit and PI2

sorry Geert, didn't see your post, I don't checked eigenlabs.com often...

Linux 64 build seems ok, as far as Ive played with it, but honestly, the Linux build I tend to use more for my PI2 stuff, so don't use the 64 bit version except as a quick test.
Yes, Im interested in getting a Mac 64 bit version too...


written by: PascalGwosdek

Wed, 4 Nov 2015 23:40:21 +0000 GMT

Thanks for this release, much appreciated!

I ran into a small problem with my Pico on Linux (x64): The device registers with a different product id to my system than what is hardcoded in the lib_pico/pico_usb.h header. I guess that's the reason why it is not found by EigenD. While the header specifies 2139:0101, lsusb says my device is 2139:0001 . Nothing interesting in dmesg from what I can tell:
[ 7109.995833] usb 3-1: new full-speed USB device number 8 using xhci_hcd
[ 7110.012532] usb 3-1: New USB device found, idVendor=2139, idProduct=0001
[ 7110.012540] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

Did anybody of you guys run into this issue already? The Pico works like a charm on Windows (stock EigenD + Runtime), so this is more of a nice-to-have for me than a real blocker. Would still be cool to hear your suggestions :-)


written by: TheTechnobear

Thu, 5 Nov 2015 20:00:37 +0000 GMT

I think the issue is, it cannot find the pico.ihx firmware file.
you will need to install the resource files onto the linux machine...

Id need to checked where they go.... if you already installed in /usr/pi/resources, it may be they need to go into /usr/local/pi/resources

I'll need to go check the details for sure.... perhaps check the eigenD log it may be reporting an error which will indicate the correct location.



written by: PascalGwosdek

Sun, 8 Nov 2015 19:40:23 +0000 GMT

Thanks TheTechnobear! My pico.ihx file lives in /usr/local/pi/release-2.1.2-community/resources and it is binary identical with the one in my Windows installation which I got right from the USB stick install.

I symlinked this resources folder additionally into /usr/pi/ and /usr/local/pi, but unfortunately the problem stays the same. EigenD boots up normally, and on loading the Pico factory setup it fails with the message "Problems loading plugin pico_manager". The logs don't give me a lot of additional insight, other than
eigend: proxy closing down
eigend-backend: watchdog fired; load failed
eigend-backend: set([''])
Before this, everything looks alright (a few mlock errors, but well...). After this block, it rightfully complains about a few missing AudioUnit plugins, and that's it. I'll continue looking into this, and give you an update in case I could resolve the issue.


written by: TheTechnobear

Sat, 19 Dec 2015 10:57:12 +0000 GMT

sorry, I don't check this forum often...
there are really 2 tricks need to running on linux.

a) use the run_eigend.sh
it sets the library path to include the agents, if you are familiar with shell scripts its contents should be obvious.
note: its not really 'production' ready, just a copy of the script i use, so may need adjustment.

b) check you have installed all required packages
this is detailed in the build notes....


c) sudo
eigenD often has to be run as root on default distros as it needs permissions to access usb devices and set the process to real time.
if you know a bit about linux, you can prevent this requirement, if not, then its the easiest solution.

failure in either of the first two results in failure to load agents,
the easiest way to test for this, is to use workbench and create any agent (say scaler) if none will load its probably a or b.... if its just the pico agent then its more likely to be c.
(in your case i think its c... as you mention mlock errors which indicate the process cannot get real time privileges)



(at some point I will tidy all this up)


written by: PascalGwosdek

Wed, 25 Jan 2017 21:24:42 +0000 GMT

Sorry for not responding for so long. After a longer break, I finally found time again to take another look, and: It's working! Thanks again for your help.

For reference, multiple issues:

- The library path needs to be extended further to be able to load all libraries which are distributed across the whole folder. Here's the script I ended up with:

ED=/usr/local/pi/release-2.1.7-community
for i in [ $ED/plugins/Eigenlabs/* $ED/* $ED/modules/* $ED/modules ]; do export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$i; done
$ED/bin/eigend --stdout --debug

- This is also solving the issue with the USB vendor & product IDs I observed - I missed that these numbers are canged by the driver upon initialization.

- I missed your udev script. Once I had it installed, I could run the starter script with user permissions - which solved the issue that running it or the call to the binary with root permissions resulted in different errors.

- Once EigenD started up and the lights on my Eigenharp went on, I was wondering for a while why I could not get any sound out. Turns out, the Pulse server did not work with EigenD for reasons yet to be figured out. I had to use the analog device directly (mode "without any conversions"), and for the Cello to work, I had to set a sample rate of 96k at a buffer size of 1024. This, however, finally works like a charm :-)

Thanks again for all your help, and in case anyone stumbles over similar problems, make sure to take a look at this thread as well which I found super useful:
https://plus.google.com/115779399986608826673/posts/M5z8Zmg52Qm?sfc=false



Please log in to join the discussions