From: Erik de C. L. <ml...@me...> - 2009-12-20 06:35:40
|
Hi all, Now that we can have more than one output driver compiled in at once, I think its high time Sweep acquired a JACK output driver. I'm working on that now. Traditionally the problem with writing a JACK output was that Sweep's design is build around push model where sweep does a blocking write to the output device. JACK of course uses pull model where the JACK server expects to call into the callback of an audio producer. I think the gap between these two can be bridged with a mutex. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/ |
From: gen2 <ge...@pl...> - 2009-12-20 09:24:57
|
Excellent. Quite the xmas present for Sweep (and LAU)! On Saturday 19 December 2009 22:35:24 Erik de Castro Lopo wrote: > Hi all, > > Now that we can have more than one output driver compiled in at once, > I think its high time Sweep acquired a JACK output driver. I'm working > on that now. > > Traditionally the problem with writing a JACK output was that Sweep's > design is build around push model where sweep does a blocking write to > the output device. JACK of course uses pull model where the JACK server > expects to call into the callback of an audio producer. > > I think the gap between these two can be bridged with a mutex. > > Erik > |
From: Erik de C. L. <ml...@me...> - 2009-12-20 09:58:06
|
gen2 wrote: > Excellent. Quite the xmas present for Sweep (and LAU)! I'm working on it, but it may not be done for xmas. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/ |
From: torbenh <to...@gm...> - 2009-12-20 15:46:29
|
On Sun, Dec 20, 2009 at 08:57:54PM +1100, Erik de Castro Lopo wrote: > gen2 wrote: > > > Excellent. Quite the xmas present for Sweep (and LAU)! > > I'm working on it, but it may not be done for xmas. maybe this will help you to meet the xmas deadline ? http://trac.metadecks.org/log/sweep/branches/sweep-jack-testing also note that jack has a push type API. http://trac.jackaudio.org/browser/trunk/jack/jack/jack.h#L225 > > Erik > -- > ---------------------------------------------------------------------- > Erik de Castro Lopo > http://www.mega-nerd.com/ > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > sweep-devel mailing list > swe...@li... > https://lists.sourceforge.net/lists/listinfo/sweep-devel -- torben Hohn |
From: Erik de C. L. <ml...@me...> - 2009-12-20 20:12:37
|
torbenh wrote: > maybe this will help you to meet the xmas deadline ? > > http://trac.metadecks.org/log/sweep/branches/sweep-jack-testing After I started Conrad pointed me to that. Is there any reason that was never merged in? > also note that jack has a push type API. > http://trac.jackaudio.org/browser/trunk/jack/jack/jack.h#L225 Thanks, didn't know about that. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/ |
From: Conrad P. <co...@me...> - 2009-12-20 21:41:24
|
2009/12/21 Erik de Castro Lopo <ml...@me...>: > torbenh wrote: > >> maybe this will help you to meet the xmas deadline ? >> >> http://trac.metadecks.org/log/sweep/branches/sweep-jack-testing > > After I started Conrad pointed me to that. Is there any reason > that was never merged in? IIRC the only thing was that it just supported playback, but not yet recording. I could be mistaken :) Conrad. |
From: torbenh <to...@gm...> - 2009-12-22 15:58:02
|
On Mon, Dec 21, 2009 at 06:41:10AM +0900, Conrad Parker wrote: > 2009/12/21 Erik de Castro Lopo <ml...@me...>: > > torbenh wrote: > > > >> maybe this will help you to meet the xmas deadline ? > >> > >> http://trac.metadecks.org/log/sweep/branches/sweep-jack-testing > > > > After I started Conrad pointed me to that. Is there any reason > > that was never merged in? > > IIRC the only thing was that it just supported playback, but not yet > recording. I could be mistaken :) at least the original patch i did was just playback. i dont know if kickback added record. the basic problem is that record is happening in a separate thread. and the driver model doesnt abstract this fact. another weak point was that the driver is only opened when the user hit play for the first time. this is a bit annoying with jack :) back then i stopped, because i needed some changes to the driver model. and i preferred to have conrad do em, because it was his app. he didnt have the time to tinker with it. and i forgot about it. anyways... sweep is still great. and i would really love to add it to my software stack :) eric move on please... if you need/want help then say so... -- torben Hohn |
From: Erik de C. L. <ml...@me...> - 2010-01-01 04:36:55
|
torbenh wrote: > at least the original patch i did was just playback. > i dont know if kickback added record. Well there is a read as well as a write so it might have been added by kickback. > the basic problem is that record is happening in a separate thread. I don't think that necessarily has to be the case. > another weak point was that the driver is only opened when the user hit > play for the first time. The version in SVN now seems to open the JACK driver at program startup, but that makes it really difficult to change drivers at run time which is something I have just got running in the trunk. I don't think there is an easy fix fo this. It seems that the way JACK works doesn't fit very well witht the way an application like sweep works. I'm still looking at this. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/ |
From: pete s. <ps_...@la...> - 2010-01-02 17:51:38
|
On Fri, 2010-01-01 at 15:36 +1100, Erik de Castro Lopo wrote: > torbenh wrote: > > > at least the original patch i did was just playback. > > i dont know if kickback added record. > > Well there is a read as well as a write so it might have been > added by kickback. if there's a functioning jack input, i didn't add it. i may have added skeleton functions to the driver though. it's been a long time since i looked at sweep i'm afraid and i'm a little sketchy on the details. > > the basic problem is that record is happening in a separate thread. > > I don't think that necessarily has to be the case. > > > another weak point was that the driver is only opened when the user hit > > play for the first time. > > The version in SVN now seems to open the JACK driver at program startup, > but that makes it really difficult to change drivers at run time which is > something I have just got running in the trunk. perhaps i'm missing the subtleties here, but can't we just add some extra hooks to the driver api for this? i added some to init the driver at startup IIRC. it's just a matter of updating the old drivers with redundant entries to match the new api. ie some kind of driver shutdown/cleanup function that stops play/rec?. i'm not aware of any third party drivers with which we need to maintain backwards compatibility. failing that, perhaps mandate a restart in order to effect a change of driver. at least then the driver isn't dictated by the distro for many people. > I don't think there is an easy fix fo this. It seems that the way JACK > works doesn't fit very well witht the way an application like sweep > works. another problem occurs when using samples that don't match the jack sample rate. sweep relies on the device driver to resample to the device rate normally, using a low quality (but fast) resampler to handle varispeed and scrubbing. the resampler sounds bad, even to my dull ears and we can't really use this for normal playback of files that don't match a mandated sample rate, yet jack offers no resampler at all. this means we need another resampler for the jack driver, else we require people to resample all their files offline to match the jack sample rate. cheers, pete. |