I figured out how to do this.
Generally the problem is this: the signals to run four independent tracks in my patch are all devised from one phasor~ object that scans a single bar of material. Clicks then appear in the material when jumping from one bar to the next, because the control events are quantized to the 64 samples of a block. So we get lines like the picture enclosed that read the material using tabread~.
In order to get rid of the clicks, I have an alternative method for reading the material _without_ adding any new DSP objects (this has to run on an iPhone 4). It involves the phasor~-esque object ramping from 0 to 8 over 8 bars or not, depending on whether it is jumping around or smoothly reading the 2, 4 or 8-bar loop.
I already have this working - it has to detect when the ramp is crossed and generate a clock signal from it for the intra-bar rhythms. I took phasorshot~ as my prototype, but that had the same problem as before, namely that non-signal pulses are quantized to 64 sample blocks. I tried using clocks but they went out of sync while the tempo was being changed of course.
So, I built an object where all the clocks are derived from the phasor ramp, but sent out as control rather than DSP signals. It uses more CPU than phasor~ does (~70% more) but no matter how much you speed-up or slow down the phasor~ on-the-fly, the clocks never go out-of-sync. It's called phasorbars~.
I'll be uploading a version of the external soon to svn, and anyone who's downloaded Ninja Jamm for their i-device will get an update soon also.
Cheers,
Ed
>
>
>why not just make a half speed phasor~, retrigger the phase to zero with a normal metro, and then multiply the output by 2?
>
>
>
>
>
>
>
>On Thu, May 9, 2013 at 10:09 AM, Ivica Ico Bukvic <ico(a)vt.edu> wrote:
>
>Assuming you want a pulse in non-signal domain, you could use disis_phasor~ (see http://l2ork.music.vt.edu/main/?page_id=56 for download links) which outputs a bang every time ramp is crossed. This is only accurate to the nearest sigvs size (by default 64 bytes) as there is no guarantee that you will get a msg interrupt exactly at the time ramp has crossed.
>>Â
>>HTH
>>Â
>>From:pd-list-bounces@iem.at [mailto:pd-list-bounces@iem.at] On Behalf Of Ed Kelly
>>Sent: Wednesday, May 08, 2013 5:00 PM
>>To: PD List; pddev
>>Subject: [PD] Rewriting a unified phasor / metro object for reading tables
>>Â
>>Hi Lists(s),
>>Â
>>I'm rewriting phasor~ and unifying it with metro so that a pulse is generated from the boundaries of each ramp - so that bars of music can be read using tabread~ objects with a sample-accurate metro.
>>Â
>>I'm sure someone will say this can already be done, but it has to be dropped into the Ninja Jamm patch, so there isn't really time to rewrite the rest of the patch.
>>Â
>>I don't fully understand the way phasor~ wraps, but I have the object firing out bar numbers correctly. I'm putting clocks in for 16ths and 24ths of the beat, initiated on each wrap. I need to minimise CPU, so what I want to know is this:
>>Â
>>Does phasor~ always start from 0 and go to 1, i.e. is there always a signal value of 0 at the start of the ramp and a signal value of 1 at the end? As I write this, my common sense tells me it should be "yes" but I want to make sure. I suppose I should just try it really...
>>Â
>>Cheers,
>>Ed
>>Â
>>Ninja Jamm - a revolutionary new musix remix app from Ninja Tune and Seeper, for iPhone and iPad
>>http://www.ninjajamm.com/
>>Gemnotes-0.2: Live music notation for Pure Data, now with dynamics!
>>http://sharktracks.co.uk/
>>_______________________________________________
>>Pd-list(a)iem.at mailing list
>>UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>>
>>
>
>
>Â
Â
Ninja Jamm - a revolutionary new musix remix app from Ninja Tune and Seeper, for iPhone and iPad
http://www.ninjajamm.com/
Gemnotes-0.2: Live music notation for Pure Data, now with dynamics!
http://sharktracks.co.uk/Â
Â
Ninja Jamm - a revolutionary new musix remix app from Ninja Tune and Seeper, for iPhone and iPad
http://www.ninjajamm.com/
Gemnotes-0.2: Live music notation for Pure Data, now with dynamics!
http://sharktracks.co.uk/Â
Bugs item #3612674, was opened at 2013-05-04 20:57
Message generated for change (Tracker Item Submitted) made by nobody
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3612674&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: Placing an osc~ causes the computer to log out
Initial Comment:
The instant that I type the ~ of osc~, all of my programs will close and log out to the login screen. I am using Pure Data 0.43.2, on Ubuntu Studio 13.04, 32-bit. This did not happen before using Ubuntu Studio 13.04. It worked fine in 12.10.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3612674&group_…
Patches item #3612657, was opened at 2013-05-04 19:15
Message generated for change (Tracker Item Submitted) made by nobody
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3612657&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: externals
Group: bugfix
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: kamagra oral jelly avis
Initial Comment:
kamagra oral jelly avis
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3612657&group_…
Bugs item #3612577, was opened at 2013-05-03 07:48
Message generated for change (Tracker Item Submitted) made by dougbinks
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3612577&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Doug Binks (dougbinks)
Assigned to: Nobody/Anonymous (nobody)
Summary: Windows installation places libraries in system folder.
Initial Comment:
Windows installation places libraries in system folder. In particular a modified version of libcurl-4.dll is installed there, preventing any git installation from working over https.
PD should follow best practice and install dll's to it's binary location, or create a shared location and add this to it's path.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3612577&group_…
Bugs item #3611604, was opened at 2013-04-22 13:58
Message generated for change (Tracker Item Submitted) made by dolfo91
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3611604&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: pd-extended
Group: v0.43
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Rodolfo Cangiotti (dolfo91)
Assigned to: Hans-Christoph Steiner (eighthave)
Summary: [Bug Report] PD's crashes with csoundapi~.dll
Initial Comment:
Software:
PD Extended v. 0.43.4
OS:
Windows XP MCE 2005 SP3
Hardware:
Intel Core 2 Duo E6400
Built-in sound card with ASIO4ALL driver
I report that the current version of PD Extended (.exe installer release) seems not working when I embed Csound in it through Victor Lazzarini's Csound API.
More precisely, I set ..\Csound\bin\ as external source path in PD's preferences; then, when I open a project with csoundapi~ as main object (for ex. Victor Lazzarini's example), PD freezes. Therefore, I'm always forced to teminate pd.exe process and, after this, Windows crashes and reboots.
Using the zipped release, PD can't simply open csoundapi~.dll file, although I set the same path in PD's preferences or even I copy the .dll file itself in ..\PD\extra folder.
This issue doensn't occur with PD Vanilla 0.44 or PD Extended 0.42.5.
I hope this report will be useful for next updates.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3611604&group_…
Bugs item #3611288, was opened at 2013-04-18 09:55
Message generated for change (Tracker Item Submitted) made by nobody
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3611288&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: pd-extended
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Hans-Christoph Steiner (eighthave)
Summary: apple library doesn't load
Initial Comment:
I am working on a theremin-esque instrument with the multitouch functionality of the apple library, but the multitouch object fails to load when I start pd-extended. Is there a long-term solution as opposed to opening the help library each time I open the program?
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=3611288&group_…
Hi,
for PuREST JSON on Windows, I need a way to verify SSL signatures,
because currently this is not working. One way to accomplish that, is
setting the path to the certificate file. As I want to package the file
with the zip, I would like to store it in the same directory as the dll
for the externals.
I have two externals [rest] and [oauth] that share all the code for
libcurl, threading etc. (via a struct), so in the function where I need
to set the path to the certificate file, I need to get the path of the
dll to set the certificate store correctly.
Both classes are created by functions like:
rest_class = class_new(gensym("rest"), (t_newmethod)rest_new,
(t_method)rest_free, sizeof(t_rest), 0,
A_GIMME, 0);
and
t_rest *x = (t_rest *)pd_new(rest_class);
Now, I need a way to get the value "rest" from this *x, for this:
static void *ctw_exec_req(void *thread_args) {
struct _ctw *common = thread_args;
/* more declarations */
#ifdef _WIN32
/* Workaround for loading certificates on Windows */
char path[2048];
/* This will output the path to pd.exe */
GetModuleFileName(NULL, path, 2048);
post("dll path: %s", path);
/* This will output the path to rest.dll, how do I get "rest"
from *thread_args */
GetModuleFileName(GetModuleHandle("rest"), path, 2048);
post("dll path: %s", path);
#endif
/* all the rest to execute request via curl */
}
Thanks in advance,
Thomas
--
"As long as people kept worrying that the machines were taking over,
they wouldn't notice what was really happening. Which was that the
programmers were taking over." (Robert Anton Wilson - The Homing Pidgeons)
http://www.residuum.org/