[jacktrip-users] distorted audio OS X

27 views
Skip to first unread message

artelse

unread,
May 24, 2010, 11:21:01 AM5/24/10
to jacktrip-users
Hi,

Am trying to establish a audio connection between two OS X machines on
my network.

One PPC 10.5 machine as server and an intel 10.6 as the client. First
I did only get noise out, later by changing JackOSX on the intel
machine to the intel only 64 bit version, I do hear audio, but it is
completely distorted.

Any hints?

ae

--
You received this message because you are subscribed to the Google Groups "jacktrip-users" group.
To post to this group, send email to jacktri...@googlegroups.com.
To unsubscribe from this group, send email to jacktrip-user...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/jacktrip-users?hl=en.

artelse

unread,
May 24, 2010, 6:08:38 PM5/24/10
to jacktrip-users
Forgot to mention that it only works with the -e option enabled,
otherwise jacktrip reports an error about non-matching buffer sizes on
peer sides. An issue reported on the google code issue tracker.

Would love to use jacktrip for a radio show I'm presenting, anyone
know how to get good audio out?

Thanks!

ae

Juan-Pablo Caceres

unread,
May 26, 2010, 10:07:33 AM5/26/10
to jacktri...@googlegroups.com
Hi ae,

I have never tested jacktrip on PPC machine (I don't have access to
one). Other people have reported the same problem, first I thought it
was a bug in the code, but now I think it's a byte-swapping issue. We
use Qt sockets, and they are suppose to handle the byte ordering
correctly, but apparently it doesn't. I have a byteswaping function that
you can use if you want to patch the code:

//-------------------------------------------------------------------------------
/*! \brief Function to byteswap a char array
*
*/
//-------------------------------------------------------------------------------
void byteSwap(char* bswp, int len)
{
char tmp;
for (int i=0; i<(len/2); i++){
tmp = bswp[2*i];
bswp[2*i] = bswp[2*i+1];
bswp[2*i+1] = tmp;
}
}


You can use that function in UdpDataProtocol.cpp before receiving or
sending a packet. It would be great if it works, and if so we can add it
to the trunk.

JPC

artelse

unread,
May 26, 2010, 10:19:07 AM5/26/10
to jacktrip-users
Hi,

Thanks for the response!

I tried to build from source, but got a qmake not found error, which I
suppose has to do with missing Qt?

Am not a prolific builder of C source code on Mac, but am willing to
try to get it to work. What do I need to install exactly to build? Or
maybe easier can you provide a build with the added byte-swapping
routine? If that's not too much to ask.

ae

On May 26, 4:07 pm, Juan-Pablo Caceres <jcace...@ccrma.stanford.edu>
wrote:

Juan-Pablo Caceres

unread,
May 26, 2010, 11:09:09 AM5/26/10
to jacktri...@googlegroups.com
Hi ae,

On 5/26/10 10:19 AM, artelse wrote:
> Hi,
>
> Thanks for the response!
>
> I tried to build from source, but got a qmake not found error, which I
> suppose has to do with missing Qt?
>
> Am not a prolific builder of C source code on Mac, but am willing to
> try to get it to work. What do I need to install exactly to build? Or
> maybe easier can you provide a build with the added byte-swapping
> routine? If that's not too much to ask.

You need Xcode and Qt. Then you can build from the terminal with the
'build' script.

Since I don't have access to a PPC machine, I can't try the byte
swapping, that's the reason I cannot provide that code...

Best!
JPC

artelse

unread,
May 26, 2010, 11:59:21 AM5/26/10
to jacktrip-users
Hi,

I have xcode of course, but can you tell me what version of Qt I need,
I see different versions and frameworks (Cocoa, carbon) online.

Would it be possible for you to add the swapping routine in the
UdpDataProtocol.cpp file? Am not a C++ programmer, my C skills revolve
around embedded microcontroller programming, which is mostly
procedural.

Thanks, looking forward to resolve this issue.

ae

On May 26, 5:09 pm, Juan-Pablo Caceres <jcace...@ccrma.stanford.edu>
wrote:

Reply all
Reply to author
Forward
0 new messages