Re: [LAD] [ANN] jack-file 1.0

2011-07-04 Thread Harry Van Haaren
Hi Dan,

Nice idea, it is is essentially a command line audio file sequencer right?
(That syncs up to JACK transport).
I'll checkout the code when I get some time, just to see how you've designed
it... :)

-Harry

On Mon, Jul 4, 2011 at 12:45 PM, Dan Muresan  wrote:

> Hi, jack-file 1.0 is available on github:
>
> http://danmbox.github.com/jack-file/
>
> It contains file2jack, a Jack transport-centric audio player that maps
> files onto the (optionally periodic) transport timeline. It can map
> one or several files to arbitrary positions on the transport timeline,
> and if requested it can make the timeline "appear" to loop (without
> actually moving the transport -- so no playback  gaps! file2jack
> simply sends out a periodic waveform).
>
> There is also jacktransportloop, a simple utility to force the
> transport to shuttle back and forth between two endpoints (this one
> will, of course, create gaps, but is useful to control other
> applications).
>
> Thanks to all those who have been helped via LAD regarding libsndfile and
> jack.
>
>
> -- Dan
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
>
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] jack-file 1.0

2011-07-04 Thread Dan Muresan
> Nice idea, it is is essentially a command line audio file sequencer right?
> (That syncs up to JACK transport).

Right, that's a more concise description :)

-- Dan
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] jack-file 1.0

2011-07-04 Thread James Morris
On 4 July 2011 12:45, Dan Muresan  wrote:
> Hi, jack-file 1.0 is available on github:
>
> http://danmbox.github.com/jack-file/
>
> It contains file2jack, a Jack transport-centric audio player that maps
> files onto the (optionally periodic) transport timeline. It can map
> one or several files to arbitrary positions on the transport timeline,
> and if requested it can make the timeline "appear" to loop (without
> actually moving the transport -- so no playback  gaps! file2jack
> simply sends out a periodic waveform).
>
> There is also jacktransportloop, a simple utility to force the
> transport to shuttle back and forth between two endpoints (this one
> will, of course, create gaps, but is useful to control other
> applications).
>
> Thanks to all those who have been helped via LAD regarding libsndfile and 
> jack.

Hi Dan,

A couple of immediate issues:

1) make fails when it can't find help2man. it then complains (twice)
file2jack isn't found either (an ls after the fact shows it is):

cc  -Os -g -Wall -Wextra -pipe   -std=c99 -D_REENTRANT -ljack
-lpthread -lrt -lsndfile   -lm -lpthread -lrt csrc/jacktransportloop.c
-o jacktransportloop
mkdir man
help2man -N -o man/file2jack.1 /home/sirrom/SRC/jack-file/file2jack ||
{ file2jack --help || :; file2jack --version || :; false; }
/bin/sh: help2man: command not found
/bin/sh: file2jack: command not found
/bin/sh: file2jack: command not found
make: *** [man/file2jack.1] Error 1

2) floating point exception when command issued without options:
Core was generated by `./file2jack'.
Program terminated with signal 8, Arithmetic exception.
#0  compute_frames (argc=, argv=) at csrc/file2jack.c:659
659 jbuf_len = ((jbuf_len - 1) / denom + 1) * denom;

James.

>
>
> -- Dan
> ___
> Linux-audio-dev mailing list
> Linux-audio-dev@lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev
>
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] jack-file 1.0

2011-07-05 Thread Dan Muresan
Hi, and thanks for checking out my project.

> 1) make fails when it can't find help2man. it then complains (twice)
> file2jack isn't found either (an ls after the fact shows it is):

Well, help2man is listed as a build dependency, and I don't think it's
proper style to verify dependencies in the makefile. In ./configure,
yes -- but I'm not using one.

> 2) floating point exception when command issued without options:

That, indeed, is not nice. It happened because I left the arg parsing
routine open till the last moment. Fixed in git.

To tell the whole story, I was hoping eventually to make both
file2jack and jacktransportloop infrastructure-apps that could be
controlled via stdin. So file2jack could start with nothing, and
accept commands to add/remove files to the transport timeline.

Plus there would be a tkJackTransport app that actually scrolls the
timeline (unlike gjacktransport, which is unhelpful when the transport
overshoots the display limit) and has a loop checkbox and two time
entries. I couldn't fit this in the first release. If anybody wants to
help...

But otherwise -- did it work for you when you passed proper args?

-- Dan
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] jack-file 1.0

2011-07-05 Thread James Morris
On 5 July 2011 11:24, Dan Muresan  wrote:
> Hi, and thanks for checking out my project.
>
>> 1) make fails when it can't find help2man. it then complains (twice)
>> file2jack isn't found either (an ls after the fact shows it is):
>
> Well, help2man is listed as a build dependency, and I don't think it's
> proper style to verify dependencies in the makefile. In ./configure,
> yes -- but I'm not using one.

Ok, I probably should have read them :-)


>> 2) floating point exception when command issued without options:
>
> That, indeed, is not nice. It happened because I left the arg parsing
> routine open till the last moment. Fixed in git.

Know the feeling :-)

> To tell the whole story, I was hoping eventually to make both
> file2jack and jacktransportloop infrastructure-apps that could be
> controlled via stdin. So file2jack could start with nothing, and
> accept commands to add/remove files to the transport timeline.

Sounds interesting.

> Plus there would be a tkJackTransport app that actually scrolls the
> timeline (unlike gjacktransport, which is unhelpful when the transport
> overshoots the display limit) and has a loop checkbox and two time
> entries. I couldn't fit this in the first release. If anybody wants to
> help...
>
> But otherwise -- did it work for you when you passed proper args?

Yes it worked.

Admittedly, I didn't quite get it at first because I'd only really
skimmed the description. I was mostly wanting to look at the code as
I'm interested in trying to get a better grasp how data is passed
between threads when using JACK. I find the code somewhat difficult to
follow.

Thanks,
James

> -- Dan
>
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] jack-file 1.0

2011-07-05 Thread Robin Gareus
Hi Dan,

On Jul 5, 2011, at 12:24 PM, Dan Muresan wrote:

> Hi, and thanks for checking out my project.
> 
>> 1) make fails when it can't find help2man. it then complains (twice)
>> file2jack isn't found either (an ls after the fact shows it is):

I've stumbled over this one, too.. I did not know help2man. very handy tool!

> Well, help2man is listed as a build dependency, and I don't think it's
> proper style to verify dependencies in the makefile. In ./configure,
> yes -- but I'm not using one.
> 
>> 2) floating point exception when command issued without options:
> 
> That, indeed, is not nice. It happened because I left the arg parsing
> routine open till the last moment. Fixed in git.
> 
> To tell the whole story, I was hoping eventually to make both
> file2jack and jacktransportloop infrastructure-apps that could be
> controlled via stdin. So file2jack could start with nothing, and
> accept commands to add/remove files to the transport timeline.

nice!  1+

I suppose one could do that already with ecasound but I never
manage to remember the ecasound syntax to do that. 
I hope file2jack will keep it simple. 

Are you planning to add other decoder backends? If file2jack could play
sound from .avi, .mov and .mp3s, etc along to jack-transport, 
I could finally retire the kludgy jplay2 http://rg42.org/oss/jplay2/ player.

jacktransportloop is a very nifty tool; but it's not very accurate:
Calling jack_transport_locate() will make jackd go back to the "Starting" state:
http://jackaudio.org/files/docs/html/transport-design.html
Just launch some other jack-transport apps (e.g. ardour with a few tracks)
and you'll notice a short hiccup.

One alternative would be to just wrap the timecode internally in file2jack
(fold back, modulo) and keep going.. what do you think?

> Plus there would be a tkJackTransport app that actually scrolls the
> timeline (unlike gjacktransport, which is unhelpful when the transport
> overshoots the display limit) and has a loop checkbox and two time
> entries. I couldn't fit this in the first release. If anybody wants to
> help...

You can tell gjacktransport the start/end position of its timeline on startup:
   gjacktransport 10 100.2 # from 10 seconds -> 100.2 seconds
and one can also write a custom .rc file which can include N<99 predefined 
ranges 
and load it with  gjacktransport -l  on startup e.g.
http://gjacktransport.git.sourceforge.net/git/gitweb.cgi?p=gjacktransport/gjacktransport;a=blob;f=src/gjacktransportrc

It would not be too hard to add an OSC interface so that one can update those 
from an external app. But depending on your goals (loop checkbox, paging, maybe 
even display audio-chunk position, etc) you may indeed want a custom 
application.

> But otherwise -- did it work for you when you passed proper args

yes.

An *option* to specify JACK ports to auto-connect would be nice.
and I'd like to file a feature request for libSRC integration instead of 
calling 'sox'.

Cheers!
robin



___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] jack-file 1.0

2011-07-05 Thread Dan Muresan
> jacktransportloop is a very nifty tool; but it's not very accurate:
> Calling jack_transport_locate() will make jackd go back to the "Starting" 
> state:
> http://jackaudio.org/files/docs/html/transport-design.html
> One alternative would be to just wrap the timecode internally in file2jack
> (fold back, modulo) and keep going.. what do you think?

Before I answer anything else, have you noticed the comments to that
order in README.txt (and in the announcement)? file2jack does exactly
this (it computes what to send at every time point, and it can behave
like a periodic function). It does not move the transport at all.

-- Dan
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] jack-file 1.0

2011-07-05 Thread Robin Gareus
On Jul 5, 2011, at 9:50 PM, Dan Muresan wrote:

>> jacktransportloop is a very nifty tool; but it's not very accurate:
>> Calling jack_transport_locate() will make jackd go back to the "Starting" 
>> state:
>> http://jackaudio.org/files/docs/html/transport-design.html
>> One alternative would be to just wrap the timecode internally in file2jack
>> (fold back, modulo) and keep going.. what do you think?
> 
> Before I answer anything else, have you noticed the comments to that
> order in README.txt (and in the announcement)?

only in part.. it's a bit sparse on that matter and I must have overlooked 
the warning in there.

> file2jack does exactly
> this (it computes what to send at every time point, and it can behave
> like a periodic function).

great. That was not obvious to me at first; but I understood it just
after sending the previous email from `file2jack --help`  "LOOP" option.

> It does not move the transport at all.
> 
> -- Dan

Thanks for shedding some more light on this matter.
keep up the good work.

ciao,
robin
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [LAD] [ANN] jack-file 1.0

2011-07-07 Thread Dan Muresan
>> Before I answer anything else, have you noticed the comments to that
>> order in README.txt (and in the announcement)?
>
> only in part.. it's a bit sparse on that matter and I must have overlooked
> the warning in there.

I will, of course accept contributions to the documentation, as well
as the code.

Though to be honest the fact that file2jack does not move the
transport is in the first paragraph of README.txt (and the webpage) :)

-- Dan
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev