What is KVR Audio? | Submit News | Advertise | Developer Account

Options (Affects News & Product results only):

OS:
Format:
Include:
Quick Search KVR

"Quick Search" KVR Audio's Product Database, News Items, Developer Listings, Forum Topics and videos here. For advanced Product Database searching please use the full product search. For the forum you can use the phpBB forum search.

To utilize the power of Google you can use the integrated Google Site Search.

Products 0

Developers 0

News 0

Forum 0

Videos 0

Search  

Jack Audio & MIDI support for energyXT2 [Linux]

Official support for: energy-xt.com

Moderators: bluedad, insertpizhere, jorgen, pHz

falkTX
KVRist
 
72 posts since 19 Sep, 2007, from Viseu, Portugal

Postby falkTX; Wed Jan 05, 2011 8:10 am Jack Audio & MIDI support for energyXT2 [Linux]

Hi there!

I create a new project, 'libaam-jack', a small library that allows to use Jack Audio & MIDI (Playback and record) inside energyXT2.

DOWNLOAD:
--------------------
https://sourceforge.net/projects/libaam-jack/files/


INFORMATION:
--------------------
The number of Audio and MIDI channels can be configured using the xt2-config utility.

Jack Transport is not supported, at least yet. If someone know how to implement it, let me know!

The Jack ports are created as soon as energyXT2 starts and not when a project is loaded (as old libaam.so implementations did).
This allows to more properly integrate energyXT2 into a Jack modular setup, cause all the connections stay open as long as energyXT2 runs.
If you disable an Audio or MIDI port in the energyXT2 settings, the port will not disappear, it will just not be processed (to save CPU).

energyXT2 doesnt have the option to configure the Audio, so you have to start the xt2-config before starting the main app.


COMPILE:
--------------------
libaam-jack requires Jack; if you have Jack2, I recommend to edit libaam.cpp and set '#define HAVE_JACK2 true'.
It also requires Qt for handle settings and the 'xt2-config' utility.
If you're running a 64bit system, you'll need 32bit binaries of Jack and Qt (cause energyXT2 is a 32bit only app).


INSTALL:
--------------------
Just copy the libaam.so file into your energyXT2 folder (replacing the old one).
Also copy the xt2-config utility somewhere you can easily start it ('/usr/local/bin' is fine).


LICENSE:
--------------------
libaam-jack is developed by falkTX and released in the terms of the GNU LGPL 3 license.
Last edited by falkTX on Tue Jan 25, 2011 10:56 am, edited 1 time in total.
liquidalien
KVRer
 
7 posts since 5 Jul, 2009

Postby liquidalien; Sun Jan 09, 2011 1:20 am

Excellent ! Great job ! I'll give a try as soon as possible.

Just a question, can you post a compiled version on your ubuntu ppa ?

/Fabien

PS : for the 32 bits jack, did you try to compile jack with the mixed mode (32/64 support for 64 bits systems) ?
falkTX
KVRist
 
72 posts since 19 Sep, 2007, from Viseu, Portugal

Postby falkTX; Mon Jan 10, 2011 11:56 am

liquidalien wrote:Excellent ! Great job ! I'll give a try as soon as possible.

Just a question, can you post a compiled version on your ubuntu ppa ?

/Fabien

PS : for the 32 bits jack, did you try to compile jack with the mixed mode (32/64 support for 64 bits systems) ?


I wanted to release v0.2 before adding it to the PPA, so it becomes compatible with Jack1.

I run 64bit, so yes, I've tested it with jack mixed mode, and it works perfect.
falkTX
KVRist
 
72 posts since 19 Sep, 2007, from Viseu, Portugal

Postby falkTX; Tue Jan 25, 2011 10:26 am

I've updated the source and it doesn't require Jack2 anymore, with also a fix for input midi ports.

Download -> http://sourceforge.net/projects/libaam- ... z/download
Romwell
KVRer
 
12 posts since 6 Apr, 2005, from Odessa --> Brooklyn

Postby Romwell; Tue Mar 15, 2011 9:28 pm

falkTX wrote:I've updated the source and it doesn't require Jack2 anymore, with also a fix for input midi ports.

Download -> http://sourceforge.net/projects/libaam- ... z/download


Thank you ! Going to try away right now (I wish you included binaries, though.. :)
falkTX
KVRist
 
72 posts since 19 Sep, 2007, from Viseu, Portugal

Postby falkTX; Sat Oct 22, 2011 4:36 pm

Just bumping this thread

@Jorgen - can you look at it and consider it for inclusion in energyXT?
I can fix up any bugs you find (and I plan to rework the MIDI stuff)

there are 2 important things missing though:
- jack transport (no idea how to do this, need your help here)
- configure audio dialog (like ASIO does, but this seems to be disabled for linux builds)
SuperTux74
KVRer
 
1 post since 24 Jan, 2013

Postby SuperTux74; Thu Jan 24, 2013 4:09 pm

Hi !

First, thank you very much for writing the source code!
I'm using OpenSuse 12.2 64bit, with JACK2.

The problem I'll explain happens on my 64bit OS, but on my 32bit OpenSuse 12.2 laptop, I could compile and enjoy energyXT/libaam.so with JACK2 perfectly.

I can play sounds with all jack applications, except EnergyXT...

I compiled libaam.cpp using "make", and xt2-config as well (by following this : "http://www.timelordz.com/blog/2011/01/compiling-libaam-so-for-energyxt2-on-64-bit/")
When I launch eXT, it finds the Jack Server "JACK Audio v1.9.8", shows inputs and outputs as configured with xt2-config, and energyXT appears in Jack-Connect Tab.

All is connected, but energyXT won't play any sound.. (the demo songs seem to play, and volume is at maximum (I also checked the Modular tab))

Here is the output of energyXT in the terminal :

Code: Select all
Jack: JackClient::SetupDriverSync driver sem in flush mode
Jack: JackPosixSemaphore::Connect name = jack_sem.1000_default_energyXT2
Jack: JackPosixSemaphore::Connect sem_getvalue 0
Jack: Clock source : unknown
Jack: JackLibClient::Open name = energyXT2 refnum = 6
Jack: JackClient::PortRegister ref = 6 name = energyXT2:audio_in_ 1 type = 32 bit float mono audio port_index = 30
Jack: JackClient::PortRegister ref = 6 name = energyXT2:audio_in_ 2 type = 32 bit float mono audio port_index = 31
Jack: JackClient::PortRegister ref = 6 name = energyXT2:audio_out_ 1 type = 32 bit float mono audio port_index = 32
Jack: JackClient::PortRegister ref = 6 name = energyXT2:audio_out_ 2 type = 32 bit float mono audio port_index = 33
Jack: JackClient::PortRegister ref = 6 name = energyXT2:midi_in_1 type = 8 bit raw midi port_index = 34
Jack: JackClient::PortRegister ref = 6 name = energyXT2:midi_in_2 type = 8 bit raw midi port_index = 35
Jack: JackClient::Activate
Jack: JackClient::StartThread : period = -2147483648 computation = 5333 constraint = 100
Jack: Create non RT thread
Jack: ThreadHandler: start
Jack: JackClient::kBufferSizeCallback buffer_size = 256
Jack: JackClient::ClientNotify ref = 6 name = energyXT2 notify = 2
Jack: JackClient::kActivateClient name = energyXT2 ref = 6
Jack: JackClient::ClientNotify ref = 6 name = energyXT2 notify = 18
Jack: JackClient::ClientNotify ref = 6 name = energyXT2 notify = 18
Jack: JackClient::ClientNotify ref = 6 name = energyXT2 notify = 18
Jack: JackClient::ClientNotify ref = 6 name = energyXT2 notify = 18
Jack: JackGraphManager::GetBuffer : port = 30 is released state
Jack: JackGraphManager::GetBuffer : port = 31 is released state
Jack: JackGraphManager::GetBuffer : port = 32 is released state
Jack: JackGraphManager::GetBuffer : port = 33 is released state
Jack: JackGraphManager::GetBuffer : port = 30 is released state
Jack: JackGraphManager::GetBuffer : port = 31 is released state

[...] [u][b][color=red]<-- As long as energyXT is running, this message is appearing (a lot of time)[/color][/b][/u]

Jack: JackGraphManager::GetBuffer : port = 32 is released state
Jack: JackGraphManager::GetBuffer : port = 33 is released state
Jack: JackGraphManager::GetBuffer : port = 30 is released state
Jack: JackGraphManager::GetBuffer : port = 31 is released state
Jack: JackGraphManager::GetBuffer : port = 32 is released state
Jack: JackGraphManager::GetBuffer : port = 33 is released state
Jack: JackGraphManager::GetBuffer : port = 30 is released state
Jack: JackClient::Deactivate [b][u][color=red]<-- When I exit energyXT[/color][/u][/b]
Jack: JackClient::Deactivate res = 0
Jack: JackPosixThread::Kill
Jack: jack_client_close
Jack: JackClient::Close ref = 6
Jack: JackClient::Deactivate
Jack: JackSocketClientChannel::Stop
Jack: JackPosixThread::Kill
Jack: JackClientSocket::Close
Jack: JackClientSocket::Close
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_energyXT2
Jack: JackLibClient::~JackLibClient
Jack: JackShmReadWritePtr1::~JackShmReadWritePtr1 6
Jack: Succeeded in unlocking 384 byte memory area
Jack: JackLibGlobals Destroy ac5d678
Jack: ~JackLibGlobals
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_system
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_freewheel
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_qjackctl
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_rakarrack
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_ardour
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_exaile.py
Jack: no message buffer overruns
Jack: JackPosixThread::Stop
Jack: ThreadHandler: exit
Jack: JackShmReadWritePtr::~JackShmReadWritePtr 1
Jack: Succeeded in unlocking 1040 byte memory area
Jack: JackShmReadWritePtr::~JackShmReadWritePtr 0
Jack: Succeeded in unlocking 86577696 byte memory area
Jack: jack_client_close res = 0



I don't have this output with other jack clients, so maybe it's related to the problem?

Did you have any issue like this while testing ?

Moderators: bluedad, insertpizhere, jorgen, pHz

Return to energyXT