[PD] plot - 1000 element limit?
Hello list, Long time, no e-mail. It seems there's a limit in [plot] to only plot the first 1000 elements of a struct's array (at least for me on Ubuntu 18.04, pd 0.51)? I was wondering if there was a practical and/or performance-related reason to that limit (and also if said limit could be raised). I might have a weird use case, but I've been building a video player with 16-parameter biometric data associated with each frame so I've been using arrays in [struct]s to store the data and [plot] to plot it all out with a cursor drawn with [drawpolygon] to track the position in the data with the current video position. I've been working with up to 10-12ish minute long videos so that's arrays of about length 11000 with 16 elements per entry each and so I've been breaking the data up into 1000-element to get around that 1000 element limitation. On my 5-ish year old laptop and loading up the data from a text file and plotting everything and togglinng and untoggling plotting certain parameters, the performance isn't so bad, definitely usable (just end up with a horizontally lng canvas that you have to navigate with a fair bit of scrolling). -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] type size of a commentary
Clemens writes: > Hello list, > > is there a way to add some words to the surface of a patch like adding > a commentary, > > but with a lager type size? > > Just for clarity reasons. > > Cheers > > Clemens Check out [comment] in the Cyclone library. Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Escaping/not resolving dollar argts in msgs/objects?
Ingo Stock writes: > On 05/20/2018 02:12 PM, Derek Kwan wrote: >> As a side note, I don't really particular about this situation right now >> and don't have a use case as of yet, but it looks like both the $$ >> approach and the tosymbol approach don't work with trying to insert >> literal "$0, $1, $2" and so on in [text]s the "patching" sort of way via >> [text insert]? You can enter those literals just fine via the popup Pd >> text window and those will save just fine, but both the $$ and tosymbol >> methods via [text insert] yield input that looks to be their escaped >> \$0, \$1 versions within the popup Pd text window and then when you try >> to save the contents of that window they get resolved (so $0 goes to 0 >> and $1 yields \\$1: argument number out of range warnings). > > Yes, the escape mechanism seems to be a bit quirky at times. For > example, in the attached patch create-arrays5.pd, the array names are > being created the way described above in the thread and put into a > [text] object, where they occur escaped. The contents of the [text] can > be saved with the patch. If you create the arrays from the [text] after > writing to it, the arrays are created fine. But if you reload the patch, > $0 is escaped in the array objects, although the contents of [text] look > exactly the same. Maybe a bug, maybe some quirk. > > Anyhow, there is a solution for writing $0 into [text] and easily > generate objects from there that is robust against saving the [text] > contents with the patch, using [text fromlist], which is demonstrated in > the attached patch create-arrays7.pd. :) > > best wishes, ingo > > > > ___ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list ah, well that answers that hah. thx! and yeah, i suppose its' a bit quirky given that at least functionally texts are collections of lists but I suppose these sorts of things fall more into the "not officially supported" category than not... derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Data structures - delete specific scalar?
Roman Haefeli writes: > Hey all > > Following up a thread from 2011: > https://lists.puredata.info/pipermail/pd-list/2011-04/088306.html > > I would like to know whether it is impossible to delete a specific > scalar, by pointer. If so, why is that? Does it use a design that makes > it difficult to allow this? To my untrained eye there is no apparent > reason why it is possible by editing the GUI graphically/manually, but > not per message. > > Roman > ___ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list If I'm not mistaken, this relates to a thread I started in Jan 2017 and I think this bit from Christof Ressi might prove releavant to these discussions so hopefully this link could help with the current discussion: https://lists.puredata.info/pipermail/pd-list/2017-01/117295.html Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Escaping/not resolving dollar argts in msgs/objects?
Ingo Stock writes: > Now this works without error messages, combining some of the approaches > in this thread. > > ingo > > > On 05/15/2018 03:47 PM, Ingo Stock wrote: >> But it works by creating the message with set and changing messages! >> >> [set obj 30 30 array define, adddollsym $2-$3( --> [( does the trick. >> >> See also attached working demo. >> >> >> On 05/15/2018 03:26 PM, Roman Haefeli wrote: >>> On Tue, 2018-05-15 at 14:09 +0200, Christof Ressi wrote: >>>>> [obj 20 20 array define $$1-snd0] >>>> >>>> this only works as long as you don't save and reopen the patch, where >>>> "$$1" will become "$\$1" (which is resolved to "$\\$1" instead of >>>> "\\$1"). >>> >>> I see. Thanks for pointing it out. >>> >>> Roman >>> >>> >>> >>> ___ >>> Pd-list@lists.iem.at mailing list >>> UNSUBSCRIBE and account-management -> >>> https://lists.puredata.info/listinfo/pd-list >>> >>> >>> >>> ___ >>> Pd-list@lists.iem.at mailing list >>> UNSUBSCRIBE and account-management -> >>> https://lists.puredata.info/listinfo/pd-list > > ___ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list Thanks all, sorry for the delayed response, got tied up with a looming deadline during the week... Good solutions to try out with the $$ and the [list tosymbol] options. Yep, essentially what I wanted to do is was create a bunch of array defines with $0 in them and not care about saving the dynamic patching machinery used to create them. I suppose it wasn't super necessary in my use case, but just keeping up my usual practice of prepending everything with $0-, I suppose I tend to be on the extra paranoid side of wanting to keep everything patch unique. A use case I could definitely see myself doing at some point is something that I would want to open multiple instances of that involve large sample banks, like say a live looping patch with 50 10 second recordable loops or even just a sound launcher/processor patch have can draw from 100s of different loaded up sounds. In those cases, again I wouldn't care so much about saving the machinery used to make all those [array defines], but doing all of those by hand would definitely be a pain and they would all need $0-s in their names to avoid collisions when multiple instances are open... As a side note, I don't really particular about this situation right now and don't have a use case as of yet, but it looks like both the $$ approach and the tosymbol approach don't work with trying to insert literal "$0, $1, $2" and so on in [text]s the "patching" sort of way via [text insert]? You can enter those literals just fine via the popup Pd text window and those will save just fine, but both the $$ and tosymbol methods via [text insert] yield input that looks to be their escaped \$0, \$1 versions within the popup Pd text window and then when you try to save the contents of that window they get resolved (so $0 goes to 0 and $1 yields \\$1: argument number out of range warnings). Again, don't particularly care that much about finding a solution to this other issue at the moment, but figured I bring it up as a possible branch of further discussion since the topic is open at the moment anyways... Thanks again for the help on the dynamically creating [array defines] with literal $0s. Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] Escaping/not resolving dollar argts in msgs/objects?
Hello list, Perhaps a bit of a long shot and pretty much the exact opposite of the $0 in messages conversations as of late: Is there a way to NOT resolve dollar arguments in messages and/or objects? Example case: Lately for a project I've wanted to create vast swaths of [array define]s and I've done so with dynamic patching. Since I want their bound symbols to be something like "$0-snd0", "$0-snd1" $0"-snd2"... "$0-snd50", I DON'T want dollar arguments (particularly the $0) to resolve to anything. Similarly, I store filepath + array symbol pairs in texts to do a big load at the beginning and for right now and can always add the $0-bit via passing that symbol through a [makefilename], but I'm wondering if I can pass $0s unresolved into a text without having to manually type it in via the popup window. Of course I can always edit the patch in emacs/vim and do a search/replace, but I'm looking for an in-Pd solutions... Also for the array business I suppose I could do that via [clone], but that situation doesn't seem ideal either... Thanks! Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] GEM: text bounding boxes?
Hello list, Is there a way to get the bounding boxes for [text2d/3d] objects in GEM? Essentially what I want to do is have centered lines of text on a screen and highlight words one at a time (so 2 text objects displaying the same text, one for the highlighted words, one not, justified left and centered manually). It looks like [text2d/3d] have second outlets that output lists "bbox 0 0 0 0 0 0" (which I'm assuming means bounding box) but these bbox lists for me only ever output 0s. This is from a build from the source on github done within a week or so ago but maybe this could also be something in the build not going right on my machine if nobody else is having these issues... Thx -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] suggestion: $0 in messages
> > like mostly, i'm opposing. this has been discussed about 15 years > ago, and my arguments still stand (mainly: consistency with > dollar-parsing throughout Pd) > Yes, but there is no consistency either now. So the question would be: > is the current inconsistency a productive one (do people benefit from > having a 0 there), or would people benefit more from having an > inconsistency that provides them with a new useful feature? I can see the argument (no pun intended, haha) here where $1 $2 (and $0 included) mean very different things in non-messages (patch arguments where $0 is the internal/default argument) vs messages and having $0 resolve in messages as it would in objects could be quite confusing as we're mixing two worlds (and then users would perhaps expect $1 $2 and so on to resolve similarly but they don't). So the matter of consistency would be in message world and non-message world where $0 is just simply out of range in message world (as $100 would be if your incoming list doesn't have 100 atoms). Note that this opens the can of worms of not only message boxes but also things like [text] where $0 behaves as it does in messages boxes. > > For me, I can't count how many times I had to add a [$0], or a pack or > some extra workaround before a message so that I could send messages > to my variables (I hardly use variables without a $0). > > Joao I do face this too where I use $0 with all my [v]s and [s]s and [r]s and it does get to be a bit tedious BUT I'm not quite sure if mixing the two worlds and their rules are worth it... -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Discussing, exchanging pd-generated music
jlistshit writes: > OT question: What other list might exist to discuss/exchange etc > mostly the music that people produce with PD, rather than the > technical details? Open to all styles here, though with a focus on > generative, electro-acoustic, composition, not very IDM interested. > Hopefully not super-offtopic from the offtopic, but here's my experience with finding Pd-generated work in vaguely social media/forumy oriented platforms: Although not the most loved social networking platform in recent times, there's an active Facebook group where people occasionally post things they've made with Pd, including music, and I've posted new tunes there... I'd say a majority of the posts are technical help oriented, but it seems to be one of the better bets for finding Pd-generated work. The Pd Patch Repo forum has an "output~" section for Pd-generated work but seems to be significantly less frequented. There's a subreddit /r/puredata on Reddit that somewhat rarely has Pd-generated works posted, most of the posts tend to be of the techincal help variety, but the non-help posts are there... I post things on SoundCloud and BandCamp I know many others do too with the #puredata hashtag. Although not really forums, those are decent resources to find Pd-related tunes. Every now and then I look up the #puredata hashtag on various other social networking platforms such as Instagram and Twitter and follow other Pd users on there. Also not quite traditionally forum-y, but I've found those platforms as good resources to see what other folks are doing with Pd out there. I've been looking to branch out to other more decentralized, open-source platforms like Mastodon and I think I found posts with the #puredata hashtag on the art instance, but it didn't seem all that active... at least when I checked. These are the examples I can come up with off the top of my head half-asleep at weird hours of the night. Interested to see where this topic goes and what ideas/observations arise from it.. It's always nice to find out what other folks are making with Pd... Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] bigger inlet/outlet size in 0.48.1 ...
Derek Kwan writes: > oliver writes: > >> even if "uniform rendering across systems" is definitely a worthy goal, >> are the bigger inlets really unavoidable ? >> >> no chance to at least hack a personal version of a tcl file to make >> them thin again ? >> >> i for one like the slimmer inlets way better. > > I suppose I'm in the minority in the proceedings of this > thread,... but I actually like the thick inlets/outlets =) I've never > had the best eyesight (as evidenced by my ever-growing thickness of > glasses lenses over my lifetime) so I like things big and > high-contrasty (if anything, I could use another pixel-width thickness =P). > > I suppose to due my differing opinion, I would +1 the option to change > inlet/outlet thicknesses, perhaps via TCL or .pdsettings. > > Derek Sorry for the double posting in quick succession, but I've just noticed that although these objects have the thicker inlets/outlets: objects number boxes symbol boxes message boxes The following have the original THINNER inlets/outlets (perhaps due to them being more "fullblown GUI elements") : number2 boxes radios sliders bangs toggles VU meters To sum up, everything in the first subdivision of the "Put" menu (besides comments which don't have inlets/outlets) have the thicker inlets/outlets, everything in the second subdivision has the smaller ones. Which is a bit inconsistent. Personally, I have a really hard time seeing those inlets/outlets in that second list, but from this thread, there are differing opinions to be had on the subject. Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] bigger inlet/outlet size in 0.48.1 ...
oliver writes: > even if "uniform rendering across systems" is definitely a worthy goal, > are the bigger inlets really unavoidable ? > > no chance to at least hack a personal version of a tcl file to make > them thin again ? > > i for one like the slimmer inlets way better. I suppose I'm in the minority in the proceedings of this thread,... but I actually like the thick inlets/outlets =) I've never had the best eyesight (as evidenced by my ever-growing thickness of glasses lenses over my lifetime) so I like things big and high-contrasty (if anything, I could use another pixel-width thickness =P). I suppose to due my differing opinion, I would +1 the option to change inlet/outlet thicknesses, perhaps via TCL or .pdsettings. Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] puredata parameters into HTML5
Hello, I would have Pd talk to whatever's hosting your webpage using OSC. I wrote a piece a few years ago that had SuperCollider (but I later ported it to Pd) talking to a webpage I hosted on my computer via node.js via OSC (I think I used the 'node-osc' library in particular). So Pd talks to node via OSC and then node calls js functions in your webpage's js files. Then I targeted individual clients who connected to my page via soc ket.io so I could pick out invidiual cell phones to trigger sounds on (but this bit isn't necessary for the Pd -> webpage communication...) I have the boilerplate from that piece abstracted out here: https://github.com/derekxkwan/socketMusicBoiler . Haven't looked at that repo basically since 2015 so not sure of the quality of the documentation... Derek -- www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] Cyclone 0.3 beta 3 released!
> but we're facing technical difficulties uploading to deken :/ - a > report was done at https://github.com/pure-data/deken/issues/178 everything should be up on deken now, thanks to iohannes for helping me out with my deken issues. derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] resizing object in abstraction+subpatch 0.48.1 weirdness - anybody else?
> It's not just you, as it's already been reported: > > #1306 subpatch object width moves to last created object in subpatch > https://sourceforge.net/p/pure-data/bugs/1306/ Ah, thanks! Good to know... Derek www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] resizing object in abstraction+subpatch 0.48.1 weirdness - anybody else?
Hello list, Might be something going weird with my setup but wanted to check with the list just in case this could be happening to anybody else... I've been making abstractions and putting subpatches in abstractions and then resizing the subpatch as it appears in the abstraction (meaning the [pd subpatch] box) to make it wider and then saving the abstraction. I can't point to any consistent behavior, but at times when I reopen the abstraction after saving I'm seeing the [pd subpatch] object at its normal width and something in the subpatch possibly taking on the resized width that I wanted for the [pd subpatch] object (even message boxes). Anybody else notice something like this or something similar? Using Pd 0.48.1 and Linux (Ubuntu 16.04.3 LTS) and haven't built from source since its release so maybe something has changed in the past week or so... Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] extra folder should have search priority over externals
IOhannes m zmölnig writes: > On 01/12/2018 03:11 AM, Alexandre Torres Porres wrote: >> this could be fixed if extra had priority in the search, which I think it'd >> be common sense, as Pd Vanilla objects actually do have priorities over >> externals in general. > > no. definitely not. > it's "common sense" to allow the user to override vanilla objects. I would agree with IOhannes here about the ability to override vanilla objects. Say for some reason somebody really likes cyclone's hilbert~ and wants to basically ignore the existence of vanilla's hilbert~ so they add cyclone to their path and every time they type in [hilbert~] they want the cyclone one. Under Alex's rules, they keep ending up with vanilla's hilbert and they have no idea why and no good way to get around it, short of deleting vanilla's hilbert~, which I'd argue would be the more destructive and less optimal choice. I think the user should have the power to do what they want. I've at least gotten frustrated using software that overly restricts the user in terms of what they think is safe and proper use case. Object/method overloading is something not unique to Pd and you always have to think carefully before dumping everything into the main namespace. I don't like typing out extra long wordy names when I don't have to and typing out [cyclone/frameacucm~] would be a pain to do each and every time, but maybe there's a more subtle solution to this. I'm fond of being able to alias imported modules in other languages like the Python numpy example I brought up earlier like "import numpy as np", but again it prob require a complete overhaul of object loading and break everything... I suppose in the meantime we could rename folders or do symbolic links to folders like "ln -s cyclone/ cyc" or something but we can't expect the end user to do that... But I suppose you and I Alex has the same ideas in mind? Half the point of adding paths is to not have to type out the library name each and every time... Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] declare vs. namespaces - current best practice
>> And to come back to my first remark here on this thread, if >> [declare] cannot always force a priority, shouldn't it? > > I don't think so. [declare]'s job is to add paths to the search path > and load libraries. it has nothing to do with namespacing. > > imagine you want to use both [foo/obj] and [bar/obj] in the same > abstraction. how could you possibly force on or the other with > declare? > Well, I suppose one way of forcing the use of cyclone's gate without typing out the entire thing and dealing with this whole namespacing thing is to basically use the -noprefs flag when launching pd (and assuming the people you are distributing the patch to have Pd somewhere in their path which might be a big if, you can send along a shell script that launches pd with that flag for them) and using [declare] to control what gets loaded and what paths are added (which actually might be tricky depending on platform/how their system is set up). And of course not loading the prefs file affects more than just paths/loading... So maybe now that I type it out this isn't such a simple idea to implement haha, but maybe it could be helpful for some use cases... Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] declare vs. namespaces - current best practice
"Christof Ressi" writes: >> and usually involves sort of prefixing or suffixing for every >> abstraction/external. > > I've also done this in the past. > namespacing by prepending the folder name has one advantage, though: > it provides you the possibility to choose between the long (safe) and > short (unsafe) name. short names are convenient in rapid prototyping > while long names are preferable if things ought to be robust. > > but after all, it's a matter of taste I guess. > Interesting. I suppose this makes me think about more robust and defined examples of namespacing. Taking python for instance where you can import modules with shorter names with something like "import numpy as np" so you can just type "np.array" instead of "numpy.array" each time or you have the option to dump everything into the global namespace which is similar to the situation we have currently of just importing the path or compiled library wholesale through "from numpy import *". I'd imagine that implementing a system like this in Pd would be very^999 far from trivial to implement, cause more confusion to the general end-user than it's worth it just because users like me don't want to type [cyclone/*] out every time (and there is already enough confusion about not being able to instantiate anything in Gem/zexy/cyclone/etc. even though they've already installed them onto their computers), and probably break everything which would be a huge no-no. but it is interesting to think about =P. Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] declare vs. namespaces - current best practice
João Pais writes: > Dear list, > > I'm trying to make my abstraction library vanilla-compatible, but > nevertheless I need to use some externals. Since I didn't keep up with > the vanilla progress the last years, I wanted to ask what is the best > method to make sure that all externals are loaded: > - use [declare ]? > - use namespaces such as [list-abs/list1]? To jump into this discussion, I used to be a huge believer in doing the [library/object] thing and I still try to do it with libraries that aren't of my own creation because yes, there can be name collions and it's good to take steps to try to avoid it. On the other hand, it is a lot of typing so when I can afford not to (usually with my own abstraction/external libraries and with my own personal patchese I don't necessarily intend on having other people use), I just forego that whole thing and either do a [declare] or just import the paths in my preferences. One strategy I try to follow with my own libraries and a strategy I have seen others follow is to try to make the names as unique as possible (which isn't as good as the [library/object] strategy but perhaps good enough) and usually involves sort of prefixing or suffixing for every abstraction/external. In my case, I usually just prefix dk to everything so my bitcrushing abstraction becomes [dkbitcrush~]. Or I've sort of put all my list abstractiosn in their own little library so I prefix everything with pdkl- (pd + dk + l for list) so my mapping abstraction is called [pdkl-map]. Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Standard Paths & Canonical practice for managing/installing externals
Alexandre Torres Porres writes: > My view is reinforced by [declare]'s object design, which loads > externals/libs from there with the -stdpath & -stdlib flags. Who > agrees/disagrees? and if standard paths* are not good for externals, > what they good for? Some random, scattered thoughts on the topic: I think there are many issues that arise with the use of standard paths although I would advocate for their use with library management and the use of standard paths seems to be prevalent across other creative coding platforms and programming language enviornments. In a sense, I suppose standard paths could be seen as less transparent since the object binaries and abstractions aren't in the immediate vicinity of the patches worked on. And with Pd-extended, a lot of people assumed that objects were just there as part of the typical Pd install and so people need to be helped out with what libraries are, where and how to install them, etc. I think this a lot of this stuff is solved with Deken by automating the whole process and also by people like myself and Alex who have writted thorough documentation of how the whole thing works. I'd agree that the concept is just yet another thing to teach/learn when getting accustomed to Pd and perhaps very casual users don't need to understand the concept of standard paths and how they work, but I don't the concept is so heady as to not be teachable in a relatively concise manner to new users and it's a concept that carries over to situations outside of Pd. Additionally, the use of standard paths brings up issues of libraries "locally" installed in specific project folders vs "globally" installed in a user's folder (and furthermore, "globally" installed in system folders outside of a user's folder). In this case, I'd propose perhaps some sort of hierarchy where local installs take precedence over user global installs which take precedence over system global installs. Perhaps this may be easier said than done due to how libraries are loaded at start-up and the scopes of different Pd windows being open, and what to do when they're closed or switched, what to do with the Pd browser,... but at least as an end user, this hierarchy seems to make the most sense to me. Standard paths interacting with the Pd browser can be kinda messy. For objects to show up in the browser, they need a help file (and here I'd propose perhaps allowing abstraction patches, ie patches that don't end in -help.pd, to appear as well since sometimes they are documented well enough not to need help patches). And even with navigating the Pd browser, the functionality of objects is unclear since there's no description field (but I think I'm getting off-track here haha). Double-loading libraries means they show up twice in the Pd browser (I suppose I don't really see a good way around this). Anyways, the pros of using standard paths for externals are their functionality with the Pd browser, and simplifying pathing, and well, having standard paths between different patcher windows, which simplify the Pd experience, especially when not using a saved patch in a specific project folder but rather a new patch. Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [text define] functionality for text in structs?
"Christof Ressi" writes: > I have - and traversing large lists of scalars by pointer can be vry > slow. > yea, i figured that could be the case =P > you could hide the fact that it's a linked list from the user but I > don't know if that's a good thing to do. It doesn't seem transparent > to me ("why is accessing the 1000th elements slower than the 1st > element?"). I suppose you could tell the user via documentation, but then you'd have go into what a linked list is and why linked list indexing is O(n) versus array O(1) to explain the speed difference and yeah, I see your point haha. And it's probably not good either to have a layer of abstraction that isn't totally necessary either. > > if you don't use the graphical representation, you can just as well > work with data structure arrays and get fast random access. there is > one little but unfortunate drawback compared to using lists of > scalars: drawn instances of array elements don't respond to mouse > events, making them more or less useless as UI elements. if you > click/select an element, you only get a pointer to the array, not to > the element(s). if you click on the canvas, you get pointers to the > array + all array elements (for whatever reason). > The right behaviour IMHO would be that clicking/selecting array > elements gives you pointers to the array *and* the clicked/selected > element(s). clicking on the empty canvas shouldn't trigger any mouse > events! > > Apart from that, data structure arrays are quite easy to handle and > much more efficient than linked lists of scalars ah, that's interesting. admittedly, i haven't used pd structs that much in my pd work as of yet but the stuff i want to do seems to be increasingly lending itself to that (or a similar) sort of paradigm so i'll keep that in mind! Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [text define] functionality for text in structs?
Miller Puckette writes: > There ought to be a way to do this - some other object than [text define] > should be able to do 'read' and 'write' operations. Perhaps this needs > to be added to the [pointer] object somehow. (For a long time I've wished > for a better suite of objects to traverse data structures but can't find > a good design :) > > Miller I suppose since we're on the topic, it appears that [array] faces a similar situation to [text]. Actually I haven't had a whole lot of issues with traversing data structures yet, but that's probably because I haven't dealt with gigantic lists of scalars yet. I made an abstraction to get the nth scalar that basically jumps to the head and uses [until] to bang [next( until it reaches the desired index, but that method probably becomes less-than-ideal as the number of scalars increases. I haven't dug around the source for structs much yet, but would perhaps having structs act more like doubly-linked-lists rather than singly-linked be possible/worthwhile? I suppose maybe the ultimate ideal situation would be to be accessible by index, at least from a front-facing user perspective. From my perusings of the pd-list archives, I know this definitely has been brought up before, but probably one of the more clunkier things about dealing with data structures is not being able to delete individual scalars. Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [text define] functionality for text in structs?
Miller Puckette writes: > Not sure if this really works yet but... > > You should be able to use [text tolist] and [text fromlist] to copy the > entire contents of a text inside a scalar (struct) into a [text define] - > and from there to/from a file. > > cheers > Miller Hello, Correct, this works. I was just hoping for the ability to use these methods "directly" on a text struct member without these extra steps or overhead, but perhaps the text being a member of a struct makes things a little bit more complicated... I could see an abstraction using a "proxy" [text] instance and automating the [text fromlist/tolist] steps helping out the situation though. Thanks! Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] [text define] functionality for text in structs?
Hey list, Is there a way to get and/or simulate the functionality of [text define] for texts in structs (ie [struct mystruct float x text t])? It seems like you can't send pointers into [text define] and you can't use the -s flag in [text define] (not that it'd make much sense since the text is already there in the scalar), but I'm missing the reading/writing to files and editing via popup window (which would be handier with larger chunks of text). I've investigated alternatives using a proxy [text define] and then [text fromlist] from it into a [text tolist] for the scalar's text (which looks to be the best solution for now) and I suppose it's also possible to add lines one by one (or in series in one message with comma delimiters) or edit the .pd file directly. I've been working with randomly choosing from groups of lists in stages (say, choosing randomly from lists in group 1 in one stage, then group 2, etc.) and have been doing it with just working from one big [text] instance but it looks like perhaps using structs with text members (as in the mystruct example above) would be more suited for that sort of thing with each scalar being a stage. -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Laptop + interface suggestion
João Pais writes: > > I would be looking for a similar setup: > - a robust laptop where to run w10. The less weight the better, even > if it sacrifices some performance. I'm a Linux user, but I've been using a Dell XPS 15 9550. The form factor is nice, it's relatively thin and light. I'd say my biggest complaint about it is that it's not the quietest laptop, particularly in terms of coil whine. Mine isn't so bad, but in a quiet room I can hear electronic whinings and chattering which are normally sounds I like but only when I make them haha. I'm okay with my laptop, but I'd definitely consider other brands in the future, those Lenovo Thinkpads look appealing, although a bit pricier. My model has an NVidia card but I think you can get them with just the integrated graphics as well, particularly the 13 inch 9350 (now 9360) models. I think the Thinkpad X series is comparable in form factor to mine? And I was looking at the T series as well when I bought this about a year and a half ago by now. > - which audio interfaces are used nowadays, compared with the > multiface? E.g. with at least 8 analog outlets (I don't need that many > inlets), and also a digital outlet. Also the less weight and size the > better - a half-case size such as the multiface is quite convenient. > - the computer will be used for day-to-day activities: office, > notation (sibelius/finale), and Pd audio programming. No games or too > taxing environments, so some features such as a high-power graphics > card or the latest ssd disk should be necessary. I have an RME Fireface UCX. Half-rack size like you want. It does KINDA have 8 analog outs, 7/8 are combined as a stereo out. 8 ins, 2 of which are XLR combo jacks. It's been really solid for me. No TotalMix on Linux and there are issues with all of that but you're on Windows so that should be of no worry to you =). Sturdy as heck and reliable. I think it has firewire but nowadays computers don't seem to come with those and I've just been using the USB (2.0 I think) and even then you can get pretty low latencies (and it's class compliant too!). I think there's a new model of the Motu Ultralite these days that is also worth considering (I vaguely remember Alex Porres posting something about it on Fb awhile ago so he might want to chime in haha). Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Open source + musical composition?
On Feb 25, Alexandre Torres Porres wrote: > I think open source people are more hacky and DIY and are less tied up, > which has an impact on the result... I do suppose that esp stuff like Pd vanilla with its small core encourages more investment in the tools, but at least for me, it's difficult to pin down stylistically what users of open-source tools such as Pd and SC tend to produce. Not to denigrate four-on-the floor, I think a lot of interesting things can be done around that, but I've heard quite a lot of generic four-on-the-floory kinda stuff made in both SC and Pd but then again you also have like Philippe Manoury stuff and sonifications all sorts of less in-the-box stuff being made in Pd. And I suppose Max is sort of the oddball out in terms of commercial music composition tools, but it seems like there's quite a bit of a "maker" scene around Max as well. Going through school (and I suppose it depends on where you go to school), a lot more things revolved around Max more than anything else: multimedia projects, any piece not mine I performed or saw performed, (well, I used to use Max a lot for my stuff I suppose too, but that was a long while ago =P). Outside of Pd and SC, there are stuff like DAWs and trackers that are open-source like Ardour and LMMS and the Hydrogen drum machine which can although be used for things that are less "tied up", but also lend themselves easily toward more conventional music due to the griddiness that I mentioned in my last e-mail and you can find a lot of examples of this online. Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Open source + musical composition?
> Hi everyone, > > > I would love to know if anyone feels like there is a direct > relationship between the music they make with Pd and the fact that > Pd is open source. Do you compose music differently than you would > with a purchased software package? Are your sonic standards higher / > lower / unchanged? Are you more / less musically adventurous (what > ever that might mean to you)? Are you more / less likely to use sounds > from other users? I suppose I pretty much exclusively work with open source tools so my perspective is a bit skewed (I also went through school studying music so this adds an additional bias), but I think paradigm and interface has much much more to do with compositional style than software being open source or not: DAWs and trackers emphasizing the metrical grid, while Pd and SC being more freeform and sandboxy, SC having its extensive list of patterns and tempo clocks (although I've been lately kinda doing this sort of thing with in Pd with sequenced lists), Pd with its graphical dataflow interface, perhaps emphasizing musical experiences that involve more pre-coded modules hooked together and tweaked live via sliders and buttons (I actually haven't thought about this much, forgive me, lol). I suppose that perhaps there are folks who are comfortable with solely using commercial products and folks who want to use open-source as much as possible (and people in the middle) and definitely in the popular music fields commercial products dominate. I'd say that open-source programming-oriented music environments have been more historically associated with academic institutions and thus "western art music" for lack of better terms (although I'm not really fond of that term), but there are folks leaning more on the "popular" side of things (not fond of that term either...) that do use Pd. However, I'd also say Pd's closest cousin Max/MSP has also been pretty historically tied to academic institions and the genres associated with such as well, although there are again folks who use Max/MSP for more "popular"-influenced music such as Autechre. Also, I suspect that these conceptions are changing, especially as the emergence of "creative coding" brings the expressivity of computer-technology-powered art to more and more people. I suppose since open-source software tends to be more community-driven than there could be more of a proclivity to share code and sounds and so forth, but Max/MSP code also gets shared a lot and in terms of sampled sounds, well, sampling has been a thing for a long time... In my own experience, study of Pd's source has allowed me to learn and develop my own tools, but I wouldn't say that this necessarily leads to any sort of style of music. I'd say that perhaps with commercial products, you would expect more-polished and thorough documentation, but this isn't always the case. I'm not sure if I answered your questions at all... Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Cross-platform uniform GUI rendering of patches.
> maybe makes sense to show a normal weight version of the patch for > comparison... > > quite less poluted if you ask me, and it's not like I cannot read the patch > as well for not being bold too... > >> I don't really have a strong point, at the same time I also do not > >> think that one is much worse than the other. > >> I think the comments look better with the regular font but I think it's fine to have the objects as bold. Esp with diff weights of fonts, it's easier to pick out the objects at a quick glance. I think that could be particularly helpful since Pd vanilla (at least without any tcl plugins) doesn't distinguish objects from the rest of the other things on the canvas with different colors or fills. Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Proper method of package removal from pd.info/Deken server?
On Feb 22, zmoel...@iem.at wrote: > > a) this *is* the proper way to remove things. (there just seems to be a > bug in the deken-server that it didn't update the search-results) Looks like it's gone now as hoped. > b) i'm totally unconvinced that you should remove packages at all (apart > from packages that you only uploaded in order to test deken). > i think it is a disservice to your users to remove old versions of > packages (even if they are outdated/buggy/...) I am a bit wary of having millions of version of say, Cyclone, up on Deken, especially alpha versions, but I suppose that can be remedied by a more conservative approach to releasing/versioning so there SHOULDN'T be millions of alphas in the first place, which I suppose would be a sane approach to developing anyways. Anyways, I was just testing out Deken so I wanted it to go. I'll put it back up eventually once I do stuff like actual documentation... > go to folder view ("contents"), select the files you want to move (via > the checkboxes), click on the [Cut] button; navigate to the target > folder and click the [Paste] button. > if you only want to move a single file, the menu will offer a [cut] (and > [paste]) option in the "Actions" dropdown. > > Thanks, managed to move Cyclone into proper subfolders and downloading from Deken still works. Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] Proper method of package removal from pd.info/Deken server?
Hello, I was wondering if there's a proper way of removing/deleting packages from the puredata.info/Deken server. I uploaded our latest v0.3alpha1 Cyclone release using an older version of Deken from the Xenial repos, which apparently didn't upload using the directory structure of the newer Deken tool that creates subdirectories for library names and versions. I confirmed this by uploading a little test consisting of list abstractions I've been working on but hadn't really been planning on "officially releasing" yet using the newer Deken copied from the GitHub repo. After my little test, I deleted my test package via the puredata.info web interface but a day later it still appears in the Pd Deken library search tool, just with a dead link since it's no longer on the server (it was called pdklist). Since that doesn't seem like a proper way of removing libraries from Deken since whatever process Deken uses to know what libraries are on the server hasn't noticed the change, is there a proper way of doing this? Eventually, I do plan on removing the cyclone builds from Deken and reuploading using the newer Deken tool. I couldn't find a way of moving alread uploaded files into folders via the pd.info web interface but perhaps that's a discussion for another time (but would also be a solution for my eventual goal). Thanks! Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [coll] bug
> Lots of thoughts here, but little time. Here are the salient points to me: > > 1. The best analogy to this in Pd is [soundfiler]. [soundfiler] stops the > world in order to load the file, which routinely causes dropouts. This is a > constant source of disappointment and frustration to students especially if > they're coming from Max. But the point here is that [soundfiler] is a > control object, and Pd guarantees deterministic behavior for control > objects. Hello, After a few days away from it and coming back to discuss the issue, I think threaded as the default makes sense GRANTED that it is well documented and there's an included explanation of why this differs from normal Pd usage. I wouldn't want users new to Pd expect all of Pd to work the way [coll] does as a default then getting confused as to why it isn't (also it looks like I accidentally left a post() in there from debugging but that's a different matter). I would even post something to the Pd window if the object is threaded or not. I could seriously imagine if I had more patches depending on [coll] and determinism and if I were in a crunch, going absolutely crazy and frustrated as to why my patch broke. If the patch broke becaue of order, that can be quite subtle and if i'm familiar with an object, my instincts wouldn't say "hey let's go to the help file", esp if it's a wall of text. I know Max doesn't tell you in the Max window if it's threaded but this is Pd land here. So I would strongly side with well, first getting rid of my stupid debugging post that shouldn't be there, and putting in a post that says we're using threaded. More on this, I think should be clear documentation outside of running Pd, maybe even in the main README, even if it's a short blurb expanded upon somewhere else, how this library in general differs from normal Pd land. Anyways, the decision is a bit easier with large text files that would cause dropouts. Unthreaded would be unlikely to be used when you have live audio going on because of the dropouts unless you're making the dropouts part of your piece which I suppose could be pretty interesting but not a likely use case. The issue is with the rest of the cases and I'm a little more torn there. The fix is pretty clear although a pain in the butt. If your read is in the middle of a trigger, then anything to the left of it depending on the read happening first would get all kablunked. Then the fix would be to have that read bang coming out from [coll] be in charge of triggering that kablunked stuff in the proper order and this could be a lot of rewiring... I suppose since we're going wtih a most Max-like experience as possible, it would be confusing if one object wasn't as Max-like as the others. Anyways, that's my two cents for now. Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [coll] bug
On Jan 29, Alexandre Torres Porres wrote: > yeah, derek was talking about our current development, where we screwed up > with the order of bangs in the unthreaded - but fixed now. > > Derek, would you care to elaborate why you think unthreaded should be the > default? > I had some concerns with pthreads and Windows compat but it looks like those aren't issues (? I don't have much experience with Windows dev) so I think I would be fine either way. > And is this threaded stuff only for multi threaded processors? How does > this work on a single core rasbperry pi or something like that? > It looks like threading works fine on single core, at least according to my perusing Stack Overflow, it's just that running threads will be paused for other threads. (source: http://stackoverflow.com/questions/12997628/creating-threads-on-a-single-core-processor ). So maybe something similar to unthreaded? And even then, only the Model As, first model Bs, 1st compute, and zero are single-core, all the rest are quad core. One issue that might be of concern is backwards compat with old versions of Cyclone. Otherwise I'm fine with threaded as the default. Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [coll] bug
> > coll_bind, where msg is the thing returned by collcommon_doread: > > if(msg->m_line > 0) clock_delay(x->x_clock); > > but that may have been the thing that screwed up the correct order of > things. In any case, I'll have to look at it more... (apologies in advance for polluting the list with cyclone-dev stuff but for those following along) Oh, nm, it was something collcommon_doread and I fixed the unthreaded order =) ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [coll] bug
> But anyway, I also wonder if the threaded version shouldn't be the default > behaviour of cyclone's coll, because we always have the bang output to rely > on and tell us when it is done anyway. The whole purpose of its existence > and design choice seems to be that anyway... it only makes sense if it is > undetermined... > > so I'm thinking that if one wants the pd related behaviour that you should > add it as a flag, say "threaded 0" > I don't think it should be threaded by default either. I think it came up earlier on the list that Windows machines were having issues with coll's threading? I remember reading somewhere that pthreads was unix only and there's a separate Windows way of doing threading, which isn't in coll quite yet. I did add back the bang out the 3rd inlet on instantiation when a file argt is loaded. There was a clock x->x_clock that was only instantiated in the threaded version that I needed to use because the methods that load the file arg coll_bind -> collcommon_doread return before coll_new returns so the object exist yet so there's no outlet to bang to (at least that's what I think was going on...). I did this by adding a check in coll_bind, where msg is the thing returned by collcommon_doread: if(msg->m_line > 0) clock_delay(x->x_clock); but that may have been the thing that screwed up the correct order of things. In any case, I'll have to look at it more... Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Request - Deleting struct instances, progress?
Thanks! Didn't think about simulating motion and deleting the GUI way And thanks about [scalar]. Seems like it might be a good way of doing multidim arrays. > yeah, "vis 1" and "vis 0" is necessary if the window is not visible. Forget > to mention that. Thanks! > And it needs to be in edit mode, correct? So editmode 1 after vis 1, editmode 0 before vis 0. Doesn't seem to work otherwise... > regarding the drawing instruction, don't all scalars have the x y > coordinates, even if they're not defined in the template? in that case, the > scalars without a drawing should be automatically at the coordinates 0 0 - > which can be dangerous in case you use your scalars just to store (and not > display) data, because all of them will be positioned at 0 0. if you're not using them to display, there's no drawing commands so it wouldn't do anything anyways. If there is a draw command, then it looks like you can't specify any particular element since they're all being drawn on 0 0 and deleting at 0 0 deletes the head of the list since it's at the top. So not particularly dangerous,... but not particularly directable either =) Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] Request - Deleting struct instances, progress?
I suppose since we're doing this about feature requests, I'd like to ask about deleting instances of structs in linked lists =). I've read through the list archive and seen this pop up a few times, one of the issues being brought up being stale pointers if I recall correctly. Is there any progress on this? Would it be possible to just copy over the data from the next node (if it exists) into the requested deleted node and dealloc the original next node? And if a current [pointer] is empty/stale, the next [pointer] the same, just reset to the head as a failsafe? Admittedly, I'm not very familiar with the mechanisms behind [pointer]s so I could be talking complete nonsense so apologies in advance... I suppose that this is a somewhat unrelated question, but what is the [scalar] object supposed to do? Is it just a specific instance of a struct in the linked list? I'd also echo William's words and say thanks for Pd, Miller =) Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] USB foot switch
> > I am myself a Linux user and don't know a thing about peripherals in OS X, > so would anyone have any advice concerning this situation? Would any of > these generic USB HID devices work fine or should we better try getting > something else? I used a Logidy UMI 3 back when I was a OS X user, then I went Linux, use the same pedal and works great. Has a jack for an expression pedal but I haven't tried using that yet. Works out of the box for me in Ubuntu, don't remember having problems using it under OS X. The little configuration utility where you change the types of messages it sends out only works in Windows and OS X I think, I haven't tried running it in WINE but it isn't a huge deal. I think as a default, it send MIDI notes 60 62 and 64. It's basically a little metal wedge with 3 metal push buttons, aforementioned expression pedal jack in 1/8 inch form, USB-B port out the back, little LED that lights up when you push the buttons. It is a little noisy, but I haven't found it to be noticeable in my live percussion/electronic activities (although you prob don't want a mic TOO close to it). Durable as heck, no need for an external power source. I think they're around 70 or 80 bucks? Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Getting pointer coords in patcher windows
> On 12/09/2016 06:24 AM, Derek Kwan wrote: > > Hello, > > > > external object class was instantiated. The latter sounds trickier and I > > haven't got there yet, but for the former I'm trying [winfo pointerx > > $::focused_window] > > check out iemgut's [canvasreceive]. > check out the pdtk_canvas_motion{} func, which does all the messaging of > mouse-pointer coords from gui to core. > > gfmasrd > IOhannes Thanks! I'm looking over [canvasreceive]'s code right now. I'm curious, what's the point of the clock member of the proxy? I notice that basically its only job is to call the proxy's free method when the clock's delay gets set to 0 via the parent's free method. Are there issues with freeing the proxy directly with the parent's free method? Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] Getting pointer coords in patcher windows
Hello, Apologies in advance, bit new to Tcl/Tk, but I'm trying to get the pointer coordinates of the mouse for an external (yes, Cyclone) via Tcl for both the currently active patcher window and the window in which the external object class was instantiated. The latter sounds trickier and I haven't got there yet, but for the former I'm trying [winfo pointerx $::focused_window] and it seems to just be spitting out screen coords. I've tested out [winfo rootx $::focused_window] and that seems to be sptting the proper top-left coords of the focused window so what am I doing wrong? I suppose if nothing else works, I can just subtract the rootx/y values from the screen values I'm getting and clip them to the window's dimensions. If it helps, I'm testing in Ubuntu. Thanks in advance! Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [text] editor window line numbers?
On Dec 05, Liam Goodacre wrote: > What about prepending the line numbers on the way into [text]? > Is there an "easy" way of getting line numbers in the editor window for > [text] (the one that pops up with the "click" method), perhaps via tcl > plugin or adding/editing methods in pdtk_textwindow.tcl? It'd be > particularly helpful in jumping to specific line numbers when using > [text sequence]. Thanks! Hey Liam! As in line numbers at the beginning of every text line? Unfortunately, I don't think that works for things like [text sequence], particularly with the -g and -w (symbol) flags, where -g allows you to use the first field to act as [send]s and -w (symbol) for lines starting with (symbol) to act as weights. -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] [text] editor window line numbers?
Hi list, Is there an "easy" way of getting line numbers in the editor window for [text] (the one that pops up with the "click" method), perhaps via tcl plugin or adding/editing methods in pdtk_textwindow.tcl? It'd be particularly helpful in jumping to specific line numbers when using [text sequence]. Thanks! -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Purr Data rc1
> > so, here's the deal, we haven't touched it, but we really needed to. I > wanted to at least add a properties window and we really need to fix some > issues it has in cross platforms > > well, it seems some of the issues are exactly what we're facing now... > yep, take my attached screenshot of the comment help file running on pd vanilla. I've noticed that Alex's new help files (obv) look fine on his machine, but then when it comes to my machine running Xubuntu,.. looks less than fine... weird sizes and placement of comments. Especially that red one... Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] another cyclone0.3 pre-alpha
Haha, we'll be out of the pd-list's hair soon enough. Or perhaps are better served by directing this talk onto the repo itself. btw nice to meet you over at the pdcon =). Derek On Nov 22, Dan Wilcox wrote: > Maybe cyclone needs it’s own mailing list :) > > > Dan Wilcox > @danomatika <https://twitter.com/danomatika> > danomatika.com <http://danomatika.com/> > robotcowboy.com <http://robotcowboy.com/> > > On Nov 22, 2016, at 2:02 PM, pd-list-requ...@lists.iem.at wrote: > > > > From: Lucas Cordiviola > <mailto:lucard...@hotmail.com>> > > Subject: Re: [PD] another cyclone0.3 pre-alpha > > Date: November 22, 2016 at 2:02:13 PM MST > > To: Derek Kwan mailto:derek.x.k...@gmail.com>>, > > "por...@gmail.com <mailto:por...@gmail.com>" > <mailto:por...@gmail.com>> > > Cc: "pd-list@lists.iem.at <mailto:pd-list@lists.iem.at>" > > mailto:pd-list@lists.iem.at>> > > > > > > Hi Derek, > > > > I used your “Makefile” and all objects compiled successfully on w32. > > > > I put the binaries here: > > > > http://lucarda.com.ar/x/cyclone.0.3prealpha5_Win32.zip > > <http://lucarda.com.ar/x/cyclone.0.3prealpha5_Win32.zip> > > > > I moved all helps and used abs to the same dir as the objects, also moved > > there the two 3th party.dlls needed for w32 (libgcc_s_dw2-1.dll and > > pthreadGC-3.dll) > > > > Salutti, > > Lucarda. > -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [delwrite~], or "what Pd operations are/should be realtime?"
To chime in: I've done Stockhausen's Solo Nr. 19 and at least in the form scheme I interpreted, there were at least 45.6 s delays, and in the other form schemes there are bound to be longer delays... I suppose Stockhausen isn't the normal use case though =). Derek On Nov 23, Matt Barber wrote: > I don't know about average, but I have heard "longest delay I use is maybe > 30-60 seconds" a few times. The bass piece I presented at PdCon has up to > 30 seconds of delay for a complex mensuration/transposition canon, and it > would be very useful to be able to clear it for rehearsal purposes. > > On Wed, Nov 23, 2016 at 12:35 PM, Jonathan Wilkes > wrote: > > > > In this case, I'd probably rather see a hybrid approach where a second > > buffer is already waiting. Then you could give "clear 300", and it would > > switch to the empty buffer immediately while guaranteeing that the other > > one is clear in 300ms. But this is maybe too complicated for the user, and > > uses too much memory? > > > > > > > > Matt, > > In the user reports, what is the average size of the buffer? Are we > > really talking about buffers greater than, say, 1000ms? > > > > This sounds like premature optimization to me. > > > > -Jonathan > > > > > > On Tue, Nov 22, 2016 at 7:32 AM, Ivica Bukvic wrote: > > > > For clear, I can imagine having a second empty memory buffer being created > > while delay continues to use the populated one until the memory allocation > > is complete. At that point a simple change in the pointer should suffice, > > after which the old buffer gets trashed. This would break determinacy, so > > perhaps a separate argument could be used to enable this option in which > > case the object could get another outlet that sends a bang when the > > procedure is complete. > > Best, > > -- > > Ivica Ico Bukvic, D.M.A. > > Associate Professor > > Computer Music > > ICAT Senior Fellow > > Director -- DISIS, L2Ork > > Virginia Tech > > School of Performing Arts – 0141 > > Blacksburg, VA 24061 > > (540) 231-6139 > > i...@vt.edu > > www.performingarts.vt.edu > > disis.icat.vt.edu > > l2ork.icat.vt.edu > > ico.bukvic.net > > > > On Nov 22, 2016 00:07, "Matt Barber" wrote: > > > > Hi list; thanks for a wonderful PdCon (to Stevens and NYU people > > especially). > > > > I had a quick chat with Miller after the "future of Pd" discussion. I told > > him there is one feature I've heard Pd users ask for many times: a "clear" > > method for [delwrite~]. A [delwrite~] resize method is something I've heard > > brought up a number of times as well, but I didn't mention it. > > > > Each of these has a runtime cost that could disrupt the realtime dsp > > calculation. Clearing a [delwrite~] is a linear-time operation, and for > > long delay lines it could cause audio dropouts; resizing is more > > problematic because it's not clear what to do with samples already in the > > delay line – probably it would need to be cleared as well, which would take > > even more time (although there is already an indirect resize function when > > sample rate is changed). > > > > On the other hand, Pd arrays can be resized and cleared (const 0) ad > > libitum, which is more or less the same operation. We usually tell users > > 'do this at your own risk when computing audio.' > > > > So what is the main difference? I think it's that [delwrite~] is a tilde > > object that is supposed not to cause dropouts on its own. If clearing it > > could cause a dropout, there are reasons for thinking of that as a bug > > rather than simply a risk. > > > > Is there a compromise procedure? We could add an option to spread the > > clearing out over time. For instance "clear 5000" would mean "clear the > > delay line over the next 5000 ms." A second argument would let the user > > choose whether to preferentially preserve the most recent samples or the > > oldest samples. Given only a time argument, default would be to preserve > > oldest samples (less work has to be done overall since the write pointer > > would also be filling the line with zeroes). Without a time argument (i.e. > > "clear" with no arguments), the default would be to clear it immediately > > with the understanding that there could be a possible dropout. > > > > A broader topic for another time would be "what Pd operations are/should > > be rea
Re: [PD] another cyclone0.3 pre-alpha
> cyclone_src/binaries/signal/play.o:play.c:(.text+0x117): undefined reference > to `forky_hasfeeders' > collect2.exe: error: ld returned 1 exit status > make: *** [play~.dll] Error 1 > On play~: I think the issue is that I borked up the Makefile entry and didn't account for the forky dependency. I fixed that and made a pull to Alex's repo, but he's about to take a flight back home so you can either wait for him to get back to merge the pull or use the Makefile here: https://github.com/derekxkwan/pd-cyclone/blob/master/Makefile I basically got rid of play~.class.sources line 374 from the scybuf bit (the entire line) and added this bit after that scybuf chunk: scybufforky := \ shared/unstable/forky.c \ shared/cybuf.c play~.class.sources := cyclone_src/binaries/signal/play.c $(scybufforky) Hopefully that works/unborks! Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] another cyclone0.3 pre-alpha
> > >Perhaps someone could do a windows binary for us like the last time? Lucas? also btw I've just redone [average~] to have a signal outlet rather than a float outlet if you want to check that out as well =), that change did get merged into Alex's repo. the new [play~] and [average~] haven't gone through the thorough Porres-tests yet though. Derek -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Deken library management. Was: [pdconv16_r] Topics: Deken/Core Objects/Website/Community Involvement
> > Deken as it is right now, you > > pretty much have to know the name of the library you want to install, > > and what it does/what it contains. As a new user, I'd find that pretty > > daunting. > > very good point! > > > Thus, I'd propose: a list of keywords for the library (including object > > class names), version number, category (if applicable), author, and a > > short description. > > that would make a lot of sense. maybe this info could then be synced with > https://puredata.info/downloads/by-category/library so there would also be an > up-to-date online ressource (without the need of running Pd)? > Hello, See IOhannes's reponse to me about the -objects.txt. Also, yes, it would be good to have a centralized up-to-date resource with this information but I think it's also important that the same information or near the same information is available within Pd as well. Having to open a web-browser and dig around the internet for the information (which admittedly would be easier with an up-to-date centralized resource) just adds extra steps to the process when it's so much more convenient and intuitive to not have to leave Pd and get the information you want and download the library with just a few clicks or so. -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Deken library management. Was: [pdconv16_r] Topics: Deken/Core Objects/Website/Community Involvement
> On 2016-10-31 13:11, Derek Kwan wrote: > > Thus, I'd propose: a list of keywords for the library (including object > > class names), version number, category (if applicable), author, and a > > short description. > > oh, you mean something like the "-objects.txt" file that you can upload > alongside your deken package? > https://github.com/pure-data/deken/issues/133 > > fgamsdr > IOhannes Yeah, something like that =). But also more info about the external library as a whole (description, etc.) that's also viewable within the plugin itself. I can search for something and come up with a big list of libraries, but as an end-user I can't be certain what I've actually found with libraryx-v0.2.0 and there isn't info that tells me why I should download libraryx over libraryz that's also in the same list of results and I can't see the -objects.txt from the plugin so I can't tell how closely libraryx fits what I actually am looking for (although this might be mitigated with a library description so I wouldn't actually need to see the whole -objects.txt within the plugin window or some sort of popup). -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Deken library management. Was: [pdconv16_r] Topics: Deken/Core Objects/Website/Community Involvement
aterial, I want it to be as easy and painless as possible, almost as easy as downloading pd-extended in the past. For the local vs global install issue , maybe this piece requires library3 v2.0 and doesn't work with the current library3 v3.0 because something broke. I want to be able to use library3 v2.0 with this piece but I don't want to screw up my Pd install and have both versions in my general Pd searchpaths (there would also be potential nameclashes with the the old and new objects but ignoring that for now... =P). Also maybe I use the majority of the libraries with only this one piece only so I don't want globally install these libraries. -- Sorry if none of this made sense, a bit sleep-deprived and it's late =) I think my updates argument was the weakest one and I'll have to think about that more... And I suppose this discussion kinda is tangentially related to pd-vanilla development, but Deken is a part of the Pd Vanilla distribution now and I think library management in a post-extended world is a worthwhile topic. -- Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] [pdconv16_r] Topics: Deken/Core Objects/Website/Community Involvement
> Joe Deken and Jaime Oliver and I are interested in setting up a round table > discussion to consider possible future developments for Pd vanilla. I have a > lengthy list of ideas and I'm sure many of you have ideas as well. To prepare > for this, it would be helpful to collect some of them in advance. If you > have a direction you'd like to see Pd development go in, please feel free to > suggest it in a followup e-mail to this one. Oh boy, I have a bunch bunch of ideas that are kinda sorta related to each other sorta not. Here we go!: DEKEN: - I think library management is important to the future of Pd and I'd like to discuss idea of how to improve it. I basically think the current idea needs a bit more meat on its bones to truly be helpful and integral to the Pd experience. I'd like to discussion what sorts of metadata would be helpful to have, how updates to libraries can be handled (esp with previous versions on a user's computer), if perhaps it could handle package manifests ala Node.js so that projects are easier to distribute (which also brings up the issue of local project install vs global install) CORE OBJECTS: - I'd like to discuss if the core objects included with Pd Vanilla should be expanded and what they should be expanded with. I like the modularity of Pd (this aspect being reinforced by Deken), but I also think maybe including objects to increase the functionality to Pd could be added. Things such as additional GUI objects, multidimensional arrays, more powerful sequencing tools, global transport like functions, hash tables, etc. WEBSITE: - I'd like to discuss the future of the website (not totally related to Pd Vanilla, but important to the Pd world as a whole). I think the Pd community lacks a good solid go-to resource on the web that's up to date. Puredata.info has been a great resources, but I'm not sure that the wiki format lends itself to simplicity and clarity, esp for Pd newbies. It also hasn't been the best at being up-to-date (I mean, there's still mentions of Pd-extended in several places) and it would stand a better chance of being more up to date if more people in the community could freely contribute to its upkeep. I also think that a centralized Pd website could potentially become a great showcase of what people have done with Pd and a resource for abstractions and example code and although that can be done with member pages, I don't think member pages are the best way to get this info across (although I'm not opposed to member pages, I have one!) COMMUNITY INVOLVEMENT: - I'm not sure if it's just me finally working on Pd community projects like Cyclone and writing on the list, but I have a feeling that the community has been grown and become more active and eager to be involved in the development and improvement of Pd and Pd-related projects and I'd like to explore perhaps if somehow more people could be involved in Pd Vanilla development, how that could be achieved, and how it can be made sure that development is focused and doesn't stray from a central idea of what Pd Vanilla should be. Looking forward to some fruitful discussion! Derek == Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Request for help investigating the xeq sequencer package
> hmm, it's got nothing to do with midi, right? > oh... > haha, it looks like there's plenty of midi in there =). if i'm reading it correctly, it looks like it functions sort of like arrays? you bind a sequence to some global symbol and access it by passing that symbol. I'd be interested in more sequencer options for pd so it'd be nice to have xeq or something like xeq available. i suppose i'm going off-track a little, but it'd be nice to have something supercolliderish with TempoClocks and Patterns where it's really easy to loop sequences, randomize specific bits of a sequence, etc. and have that all bound to a global transport (or two). A lot of the times I end up making my own hacky transport with metro and sends and receives for beginnings of bars, beats, etc and even then it's not the easiest to do say, quintuples when I've got my global metro going in 16ths... I suppose xeq could potentially be revived with [text] compat since that seems to be the successor to [qlist]? it seems like [text] solves a lot of the issues xeq had with qlist, like global binding allowing multiple objects to traverse a text file... Derek == Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] xticks/yticks sizes? also fontsizes
Hello, Is there a way to make the xticks/yticks bigger in garrays? The large ticks I can kinda see, but the small ticks I have to squint and bring my face closer to the screen more. It seems like this is esp a problem on the left hand vertical axis, the right hand vertical axis ticks seem to stick out more. The same seems to be true with the horizontal axes: the ticks on the bottom horizontal axis stick out more than the ones on the top horizontal axis. Also, is it possible to achieve font size 11? It seems like through setting the font size to 11 in the start up flag makes pd default to 10. Is this a tk limitation? This bit isn't such a huge deal though. I usu use 12pt, it's just part of me thinks maybe I can get away with using 11. I'm using Linux if it makes any diff. Thanks! Derek == Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] efficient approximation of trig functions for hi pass formula
> > >> Does anyone know a tool that will display the line number of a vim session > > why not just adding ":set number" into vimrc? > Because it's tiny. > > well, you can make change the color of them with :highlight LineNr ctermfg=color if that helps. cterm=bold seems to do the same thing but it might just be my color scheme... you can make invert the colorsceheme for the line number column with a cterm=inverse option, hmm, i actually kinda like that one... you can also get the line number at the bottom with :set ruler == Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] cyclist
Also, adding on to this discussion: The save format changed from Max 4 to Max 5 to a JSON-like text file format. Since Cyclist was written to deal with Max 4 files, we cannot guarantee compatibility with modern Max save files for at least the time being as that would require rewrites (well actually, a brand new script). Derek > Well, for those who don't know, cyclist converts binary max files to text > so they could be opened in Pd. > > >> Does anyone really use cyclist? > >> == Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Question about the pd-extended history
> On 10/10/2016 2:07 PM, Jonathan Wilkes wrote: > >> Does anyone have a link to a paper or a publication that documents the > > > > > >> motivation behind and original initiators of the pd-extended? I traced > >> releases back to 2003 but there is no info on who were original players > >> who started it. Thank you. > > > >Didn't Hans start it? > > That's what I thought but I am not 100% sure, so I am hoping the community > will provide needed clarity. I've been doing some mailing-list archive digging and so far this is the earlier mention I've found of it on the oft-neglected pd-announce list so it at least goes back to december 2002. https://lists.puredata.info/pipermail/pd-announce/2002-12/000178.html In terms of pd-list, the earliest mention I've found goes back to May 2003. https://lists.puredata.info/pipermail/pd-list/2003-05/011695.html Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] how prevent Pd from registering traces
On Sep 16, ro...@dds.nl wrote: > hello list, > > i would like to prevent Pd from leaving 'traces' other then what is done by > my patch. > i guess that if the preferences are not changed nothing will be written > about that. > > but what about the 'recently opened patches'? > > suggestions are welcome > > rolf > > At least in Linux, recent files are stored in ~/.config/pure-data/recentfiles.conf so if you get rid of that, you get rid of your recently opened patches. Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Yamaha UD-BT01 Wireless Midi Adapter (Bluetooth MIDI) with Linux
On Sep 12, IOhannes m zmoelnig wrote: > On 2016-09-12 11:49, Derek Kwan wrote: > > I use it with this > > program a2jmidid which is at least in the Ubuntu repos, I think it's > > supposed to bridge ALSA MIDI and Jack MIDI. Anyways, I then open up a > > ALSA MIDI channel or two in Pd. I then connect the two graphically via > > Jack using that nifty qjackctl program. > > ahm, are you sure? > does the device only have jack midi drivers? (i always thought that jack > midi builds on top of alsa midi). > > because if the device has alsa midi drivers, you can use the nifty > qjackctl program to connect the two alsa midi devices directly (the > "ALSA" tab should really read "ALSA MIDI", and the "MIDI" tab should > read "JACK MIDI"), without needing a software proxy (a2jmidid) > > fgamsdr > IOhannes > Oh, haha, so there is an ALSA tab and it works that way. I don't know why I haven't noticed that before... I guess I figured out my way back when I first switched to Linux a year and a half ago and it worked so I didn't look back. Yeah, I suppose labelling the tabs MIDI and ALSA aren't the most intuitive things in the world, esp since most of the time you see ALSA you're dealing with soundcards so that tab is easily skip-over-able. This simplifies things a bit, thanks man! So to sum up for the list graphically, this better way is: USB MIDI controller -> qjackctl (Connect -> ALSA tab) -> Pd (ALSA-MIDI) Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [coll] bug
> On first glance, it looks like 0.2beta has pthread stuff that > 0.1-alpha55 has... 0.2beta has pthread stuff that 0.1-alpha55 DOESN'T HAVE, sorry for the typo Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [coll] bug
Hello, Linux checking in. I can't seem to replicate the bug on my computer and that third outlet seems to work fine to me. Would that version with pd-extended be the one found on the puredata.info page (0.1-alpha55)? It says it was included in 0.42.5. On first glance, it looks like 0.2beta has pthread stuff that 0.1-alpha55 has... in particular the coll_free method (which I'd assume would be called when PD quits) uses them... I suppose pthread deals with multithreading? That's about all I know about it... suppose I can do some reading though =). Derek On Sep 16, oliver wrote: > hi, list ! > > i recently ran into a bug when i used the "coll" object from the BETA > cyclone library. > > simply put: when i create a coll object and quit PD, it throws a Microsoft > Visual C++ Runtime Error (see image). > > example patch is attached. > > > the object seems to work though, as long as PD is running. only the 3rd > outlet (bang when file read) doesn't work. > > > i downloaded the cyclone 0.2 beta package with deken. > the older pd-extended version (also from deken) works fine. > > > PD 0.47-2, Windows 7 64 bit > > > did anybody experience this as well ? > > > > best > > oliver ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] bendin bug (?)
well, I guess I pretty much only use notein/out so I don't have a lot of patches with bend info so IOhannes would be right in that regard. I think keeping this inconsisent behavior in the current existing objects would reinforce this behavior in future patches and then when this topic comes up again x years later there's even more reason to not break backwards compat since there'd be many more patches using these objects. I do like the idea of new objects IF the old ones gradually get phased out. I think it'd be confusing to new users (and old users) if there's two pairs of objects in existence that pretty much do the same thing with slight differences. Plus, I like the minimality/sleekness of Pd and having two very similar objects kinda gunks it up and adds (although admittedly a very minimal) added footprint. In terms of the actual scaling, I think I'd prefer the ints rather than the floats scaled to [-1, 1). I suppose it's more safe to downscale from ints rather than upscale from floats? Is there enough precision in a 32-bit float to store someting like 1./8192? I'm reading you can have up to 9 digits of precision in the mantissa and 8192 being a power of 2 helps... admittedly I've been kinda fuzzy on these things... Derek On Sep 12, Alexandre Torres Porres wrote: > > didn't want to cause disturbance. > > please, this is no disturbance and I don't represent this list any more > than you do, everything I say is also just my opinion and my two cents > > > If we want to abstract from the implementation > > well, if we don't then maybe we should have 2 inputs/output for the Most > and Least significant bits from 0-127, cause that is what the specification > is... and the '0' point is 64 / 0 > > anything else is an abstraction > > cheers > > 2016-09-12 16:52 GMT-03:00 Giulio Moro : > > > > it is a "weird" inconsistent standard > > I actually mean it is inconsistent with how the data is represented > > according to the MIDI standard. > > > > > now i don't know if you're just pushing to make this point, when 3 > > people already manifested that this sounds reasonable and intuitive as well. > > > > Signed integer surely does sound more intuitive than unsigned integer, I > > agree. My point is, if we want to program for intuitiveness, then > > normalized float is good (possibly with a different rescaling for the > > positive part, so that -1 -> -8192 and 1 -> +8191, either way, it should > > be clipped to range). > > > > If we want to abstract from the implementation (as both normalized float > > and signed integer do), then I would advocate for the former, as it makes > > more sense altogether. Going for the latter is, in my opinion, not much of > > an improvement over the current situation and I would not bother, > > ESPECIALLY if it is going to be a breaking change. But then, I only > > recently subscribed to this mailing list, so I have no idea what practices > > are already in place in the development of Pd, I was just sharing my > > opinion on the subject, didn't want to cause disturbance. > > > > Best, > > Giulio > > > > -- > > *From:* Alexandre Torres Porres > > *To:* Giulio Moro > > *Cc:* Miller Puckette ; "pd-list@lists.iem.at" < > > pd-list@lists.iem.at> > > *Sent:* Monday, 12 September 2016, 20:34 > > *Subject:* Re: [PD] bendin bug (?) > > > > > > > > 2016-09-12 16:14 GMT-03:00 Giulio Moro : > > > > > > As far as intuitiveness is concerned, -1 to 0.999878 is the most intuitive > > range for me. > > > > > > You'll be glad to know that the update in cyclone will include also the -1 > > to 0.999878 range for you in midiformat/midiparse. I didn't mention, but > > besides -8192 to 8191 they also included this - but there's no 0-16383 > > option though. > > > > > > Just to make a point that intuitiveness is arbitrary. > > > > > > now i don't know if you're just pushing to make this point, when 3 people > > already manifested that this sounds reasonable and intuitive as well. > > > > > > -8192 to 8191 sits somewhere in between, breaks free from the specs and > > yet is not intuitive to use. > > > > > > but this is widely used and I've seen it in different occasions. for > > instance, it is actually even used in Pd's bendout... why? Cause it is > > something that actually exists! Another example is that it was just > > introduced in Max's midiformat/midiparse *instead* of the 0-16383 range. > > I'm sorry but I have to disagree that it is a "weird" inconsistent > > standard. It is actually the only standard I ever knew until I found these > > issues. And it is widely used because it is in fact intuitive, 'coz '0' > > means no pitch bend up or down... Now, ask a newbie what's the middle > > point in the 0-16383 range? > > > > cheers > > > > > > ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Yamaha UD-BT01 Wireless Midi Adapter (Bluetooth MIDI) with Linux
On Sep 04, Ingo wrote: > Hi everybody, > > I was wondering if anybody has used the Yamaha UD-BT01 Wireless Midi Adapter > (Bluetooth v4.0 MIDI) with Linux. > I was wondering how you could get the MIDI data to get recognized by Pd. > > Does anybody have any experience or know how to use it? > I would like to use it with either Debian or Raspbian (or both). > > Ingo I haven't used that particularl midi adapter, but I use a USB MIDI footswitch a lot with my stuff and I run Xubuntu. I use it with this program a2jmidid which is at least in the Ubuntu repos, I think it's supposed to bridge ALSA MIDI and Jack MIDI. Anyways, I then open up a ALSA MIDI channel or two in Pd. I then connect the two graphically via Jack using that nifty qjackctl program. So to sum up: Logidy footswitch -> a2jmidid -> JACK (qjackctl) -> Pd via ALSA. There prob is a way easier way to do it (mb I can get that footswitch in directly to Pd via ALSA MIDI?) but I've found it to be reliable and rock-solid in performance. Maybe you could follow a similar pattern with your wireless MIDI adapter. Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] vanilla 0.47.1 Bug?
> Thanks Alexander, > > It seems to be the same kind of problem but not exactly it. Lets hope > miller finds a possible solution for next version. My guess is that its the > same issue that is causing similar behaviors. > > Cheers > > On Sep 11, 2016 10:41 PM, "Alexandre Torres Porres" > wrote: > I think I may have come across the not being able to drop into edit mode too and I'm on Xubuntu 16.04.1. I was thinking this was because I'm on my 6-year old laptop with somewhat sticky keys and a barely functioning trackpad while I get my newer one fixed at some point, but it could potentially be that too =P. I'm wondering if other Linux folks have come across this or it's just this computer being temperamental... Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] bendin bug (?)
On Sep 11, Alexandre Torres Porres wrote: > But in pd it is 14-bits already > > It's just that both counterparts are not in the same standard, a bug as i > see it (bendout is -8192 to 8191 & bendin is 0 to 16383) - bendout is what > I consider the usual way to deal with pitch bend, where 0 is no > bend up/down. > > cheers oh, well in that case i think it'd be fine to outright change one and break backwards compat =P yeah, the 0 being the middle spot sounds the most intuitive. Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Sending audio through net
> i can second johannes post regarding jacktrip. > > in june we did a network concert between cologne and taipei, streaming > 4 channels of audio at 16/441 in either direction + a skype video feed > for projection in the theatre in taipei. > even with a non fixed IP on our side (client) and using the general > internet of our school (IT had prepared a fixed IP address for us, but > it failed on the weekend we wanted to use it), it worked without a > hiccup for the hour or so we used it. i was very impressed with > jacktrip. > (sorry for resend hans, forgot to cc the list...) Thirding JackTrip, if that's even necessary haha I think,.. 4 years ago now? Something like that, we did a telematic concert between Stony Brook and UCSD and sent something crazy like 12 channels or something over JackTrip with relatively low latencies. Not low enough to do crazily rhythmically intricate stuff between the two sides, but low enough to feel like you're playing with the other side and not a just a video,.. (well I'd assume, I was on the tech side of things and didn't get to play). We also streamed video, it wasn't Skype, I can't remember exactly what we used (gimme a break, it was years ago). We did use fixed IPs and Internet 2, which prob helped the latency a bit. We also recorded all the channels into Ardour. It was a pretty cool experience, but long long days lol. Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] bendin bug (?)
Hello, Well, that's basically what Max does. It defaults to the original 0-127 and then you can specify a "hires" mode to use all 14-bits rather than just 8-bits like 0-127 did. We just implemented this for midiparse and midiformat in cyclone, the current version only had the 0-127. So yes, it'd be pretty easy to do. Just default to the 0-127 and have a flag or have a message change the mode to the "hires" mode. I think in terms of a software's life cycle, if you want it to keep getting better and better, something along the line has to break at some point when people figure out better and more efficient ways of implementing things. Look at Python 2 vs 3 or Lua. But I suppose that argument is for a different time and a different thread and you wouldn't necessarily have to break things here anyways =). Derek On Sep 04, William Huston wrote: > I agree with Alexandre about what seems sensible, but introducing a change > like this will break existing patches. > > Is it possible (for all changes like this) to introduce a compatibility > mode to get the old behavior? > > Yes, any seasoned Pd hacker will know how to fix the scaling. I'm just > imagining someone's patch breaks after upgrading and they just want a fast > way to get old behavior. > > Thanks, > > On Sunday, September 4, 2016, Alexandre Torres Porres > wrote: > > > > > > 2016-09-04 13:35 GMT-03:00 Giulio Moro : > >> > >> Is this a [bendin] or a [bendout] bug? > >> [bendin]'s current implementation is closer to the actual MIDI messages > being transmitted. > > > > but in actuality, the not raw standard is from -8192 to 8191 right? > > I just care they both are the same, but it seems to me that -8192 to 8191 > is the sensible choice > > cheers > > -- > -- > May you, and all beings > be happy and free from suffering :) > -- ancient Buddhist Prayer (Metta) ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] struct click extra info, (pointer) vs (gpointer)
Hello, I've been experimenting with structs and I was wondering why for click listener method, [struct] spits out extra info (particularly, it seems to correspond to the float y portion of a [struct] if defined). The select,deselect, and change listeners don't spit out this extra float. Despite this, it doesn't seem to affect me using [get] with click (which is to be expected). When I route the results from the click listener using [route click] and then [unpack p f], getting rid of the extra float, (pointer) gets typecasted to (gpointer), but seems to be the same functionally (still works with [get]) so I was wondering what the difference is and why it gets typecasted (sorry, I haven't delved into the gui/tk areas of pd quite yet so this question might be a bit noobish). Thanks! Derek ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] PdCon16 NYC Calls are open
> > Dear All, > > > > Please check out the calls for papers, works, and proposals for the > > upcoming Pd Convention. > > > > http://www.nyu-waverlylabs.org/pdcon16/calls/ > > <http://www.nyu-waverlylabs.org/pdcon16/calls/> > > > > All the best, > > > > J For fixed-media pieces, would you want a link to the soundcloud/someotherstreamingservice with the application and a d/l link to the lossless coming later if accepted, or just the lossless straight up with the application? Thanks! Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] puredata.info cleanup
> That all sounds great! > > 1 minor edit - in the front page description of pd-extended, OSC is mentioned > as one of the differentiating features from Vanilla - but it's been a feature > built into Vanilla for awhile now. > > Also, I think the processing page is a great ui model. > > -Jesse Noted. Well, I took a bit more drastic changes this time to http://puredata.info/ . Apologies for changing the text format from reStructured text to HTML. reStructured text seemed kinda like markdown but except the # sign for headers wasn't working and I'm familiar with HTML so I just went with it (I also couldn't find any formatting guide for reStructured text). It's still pretty ugly but I think it's a bit more clear (I think it'd be less ugly without text decorations for everything, I don't have access to the CSS wherever that'd be and I didn't want to put "text-decoration:none" for every hyperlink and it looks like I can't do internal style sheets. There's also little icons next to every link that IMHO is kinda distracting. I also might have went a little bold happy). I tried to keep most of the blurbs from the old page and did a little more cleaning up. I've also added links to pd-tutorial and pdpatchrepo as well as the Facebook group and Pd subreddit. I was thinking of putting a video (would that even work on a wiki page?) but I couldn't decide on one. It seems that since it's a wiki page, what you can do with it seems kinda limited but I can experiment more. I've also archived the old reStructured text version on my computer. I suppose I could attach it somewhere if somebody wants it. Basically, the only links I didn't bring over from the old page are the downloads page (well, you can access it pretty easily anyways), the Wikipedia links for visual programming language and data flow programming (I think there's enough links on that page but if people want I can put them back in), and the links to distributions (also easily accessible anyways) and Pd-extended (it's pretty much dead and buried anyways). I've also noticed that the very top of the Downloads page mentions to download Pd-extended for a quick start. I don't have write privileges on that page so I can't change it but I definitely think it should be gone... esp since there aren't any easily-accessible links to download Pd-extended anymore. Suggestions/feedback welcome! Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] puredata.info cleanup
Hello, I don't know if this is the proper list for this, I found there is a pdweb mailing list but it looks to be quite inactive so I figure I start the discussion here... I finally got an account on the puredata.info page so I took the liberty of cleaning up/clarifying some of the writing on the front page if nobody minds... I didn't want to do anything drastic, just try to make things less wordy and clear up some things (like move the description of deken to the Pd vanilla bullet, clear up the description of objects and canvases, bold things like operating systems). I don't want to attempt to do anything drastic without consulting the list, but I feel that the front page could use some changing up. When you load up puredata.info, you're immediately hit with this wall of text, which can be quite overwhelming (especially for newbies). Pd-vanilla and Pd-l2ork are featured downloads to the right of the page, but you have to wade through the wall of text to actually figure out what they are. Taking a page (haha, pun) from the processing.org website, it's clearly marked where to download Processing right near the top (in a larger font even, along with a link to tutorials and an object reference guide) with a video above it explaining exactly what Processing is and what it does (and what's new with Processing 3). Granted, historically we've had two main distributions of Pd with vanilla and extended so perhaps there needs to be a little more words explaining which is what (adding on to that, since extended is defunct and l2ork isn't ready for multi-platform yet, would it be helpful just to point everybody to Pd as the main distribution?). Describing Pd and what it does might be shortened up (and perhaps if you want the longer description, make an About link on the sidebar) and perhaps throwing a few pictures and/or visual eye candy while remaining relatively lightweight/datafriendly could help Also, posting the current versions next to the download links (can this be automated?) would be helpful. Summing up, I just think the front page of puredata.info isn't as clear/user-friendly as it could be and it's not particularly helpful in welcoming new users. Thoughts? (Also, how do things get added to the News list? The last entry is from 2015 and things such as Pd updates and the NYC conference on there would be nice.) = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] 3D tabplay?
On Jul 14, José Rafael Subía Valdez wrote: > Hello List, > > I am trying to implement an FFT Spectral Freeze patch based on "A Tutorial > on Spectral Sound Processing Using Max/MSP and Jitter", Jean-Francois > Charles. In the project, Charles uses the jitter objects to solve this. > > I am starting to play around with some ideas, but I was wondering if this > is implemented somewhere. > What is interesting in these patches is that the spectral freeze is dynamic > so it sounds more organic. > > any thoughts? (oops, forgot to cc the list, sorry for the double e-mail jose. it's a little late...) Hello, Not sure what the 3D bit is about and it's been a long while since I've used Max so I'm kinda fuzzy on what jitter objects there are... could you expand on the 3D bit? Anyways, you might want to look into paulstretching. It's basically like phase vocoding but you throw out the phases. I'm pretty sure the mmb library has something like that because I've modified it and abstracted it for my own use here: https://github.com/derekxkwan/pure-data-abstractions/blob/master/paulstretch%7E.pd Derek = Derek Kwan www.derekxkwan.com = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Granular Synthesis External
> >Thank you Oscar for this contribution; it's a very helpful external. > > > >I'm curious what else is out there to compare. Is anyone following this > >thread aware of other granular synthesis externals out there for PD that are > >worth considering? > what does a granular synthesis patch should offer? > i've made a basic one, that offer all mandatory functionalities, but i never > manage to be happy with the sound produce. > I still don't know if it's only me that did not like granular synthesis, my > patch that did not offer enough functionalities, or the sound-file i'm using. > > sorry for the large or generic question. > > cheers > Cyrille Well, I guess since there's a thread going I should throw something into the mix. Sorry in advance for the lack of documentation, they've been mostly personal projects... I've been slowly building my own little external library that has a granular external: https://github.com/derekxkwan/dxkpure , which is based on a more basic abstraction fgrainstr2~ that needs fgrain2: https://github.com/derekxkwan/pure-data-abstractions/tree/master/fgrain . I don't really have any demo of it by itself, but I used it to stretch the ambient background noises in this: https://soundcloud.com/dxkzh/airportmusic . You can best hear it at the 1:45 mark. I tried to model them after what I thought SuperCollider's Warp2 UGen did. I made them to substitute for Warp2 when i was porting a piece of mine from SC to PD, where I'm using attack detection to stretch the sound of a kalimba to 100x its normal duration. Basically each grain, windowed with either hanning or tukey envelopes in the external version, starts one after the other at semi regular intervals (with a bit of variation to avoid a pitch) and are long enough to overlap each other by some crazy number (64, I think). I tried to make them lower, I think Warp2 does an 8x overlap, but it just didn't sound continuous to me. Each grain's duration is always varied a little bit to avoid a pitch arising from the grain windows. I also randomized their amplitudes. I think it's synchronous granular synthesis? You basically used them as you would tabread4~. fgrainstr2~ has few options, basically can only change the "grain rate" while in the external you can change the overlap, window type, amount of randomization for transposition, grain size, amplitude, where each grain starts in the soundfile relative to the phasor indexing, hopsize, I think that's it. I'm relatively happy with the sound of them. the external one dxkgrnrd~ glitches a bit compared to the abstraction and I never got the transposition to really sound right... I guess I do like the sound of granular synthesis. For sounds that aren't pitched, I prefer granular synthesis to phase vocoding. I feel that it's a bit truer to the original timbres of a soundfile (even though attacks gets smeared). I suppose it's because it's using the actual original sound rather than a sine tone resynthesis... I like all those YouTube videos where they take songs that perhaps I wouldn't normally like such as Justin Bieber songs (no offense meant to pd-list Bieber fanatics) and stretch them out something like 1000x times and all of a sudden you have this beautiful, ambient drony soundscape. I forget if they're using granular synthesis or paulstretching though so maybe it's not proper evidence to support me liking granular synthesis... Like any other technique, they can suffer if overused though... Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] a multislider GUI as abstraction
Hello, I suppose this response is to no one in particular but I like talking to Alex so I'll reply to him =). As per the abstraction vs externals for gui stuff debate, I have a few general thoughts/observations: At least in my personal experience, I haven't had much luck with GUI abstractions. It seems like a lot of them that I at least have investigate date back to the pd-extended era of things and thus rely a lot of all the libraries provided with pd-extended, which loaded all the libaries as a default so they didn't have follow an libraryname/objectname convention of declaration. So I have to find out all the library dependencies and get them on my computer and if I don't want to automatically load all the libraries at start, I have to dig through and try to find where all these objects are within the subpatches of subpatches of abstractions to where these objects are and add the libraryname/ (or I suppose I could do a [declare -lib libraryname] too, I suppose that makes more sense). At least to me, not just externals but abstractions suffer from maintenance issues as well. At least with externals, compilation lends itself to more of a standalone mindset without this pure data library dependency hell (although of course externals upon compilation can suffer from this as well). Perhaps this is a historical issue though and now that PD-extended is being phased out, this situation going forward would be less of an issue. Also, perhaps it is just my own failing as a PD programmer, but I've never felt entirely comfortable with multiplicity in a graphical programming language. Like say, I want a 100x120 grid of toggle boxes that fits within a 640x480 rectangle and all their backgrounds are black and their Xs are yellow and each toggle box is hot so when you select one, it dumps out a list of all the values. Plus, every 500 ms I want the backgrounds of all the toggle boxes to flash blue so it's a clear visual cue that's where a downbeat is. It feels like in this case, I'm going to be making a lot of objects and connecting a lot of cords or do a clickable canvas or use structs (I think there was an abstraction that did this?) or something like that. At least for me, it feels way more natural to use a text-based language vs a graphic-based language to do a whole lot of one particular thing and keep track of it all and thus I'd lean more towards external vs abstraction. Plus with an external you get more flexibility with what you can do rather than be limited to using Pure Data objects to try to achieve your goals, although I can see that perhaps in a lot of cases this flexibility is not needed. I don't know, I'm sort of rambling and losing my train of thought here lol. I'm glad this topic is being brought up though, it's making me reconsider abstractions and costs and benefits or doing abstractions vs externals. Maybe I just need to familiarize myself more with things you can do with canvases and how to do iteration in Pure Data =). Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Morse Code Translator / Decoder
I suppose I haven't fully investigated the details of morse code quite yet (btw, I've come up with my own pd transcription patch that I can share that uses the [text] objects that Patrice mentioned, but before it comes to that it needs a lot of tweaking...). I suppose I've been fascinated with how the worlds of communcations technology and music are so intertwined. Stretching the idea of technology a bit, rudimental drumming, something every percussionist learns going through school, has its roots in military (at least back to civil war days, if not earlier) and communicating orders to troops (and I suppose in a superficial way it's related to morse code in how it uses more-or-less codified rhythms to communicate information). The first public wireless radio broadcasts (AM I think) were done by Lee de Forest at the beginning of the 20th C and it was of live Metropolitan Opera concerts. Of course AM (and FM) would later find roles in synthesis techniques for computer music. Jumping way ahead, the Internet has drastically changed the way music is accessed and shared and how it proliferates (not to mention who is able to participate in music creation and sharing). And the technologies that have sprung up around it have opened up new avenues of muscial expression. I've helped out in concerts where live performers play alongside other live performers from the other side of the country (of course not possible without Internet technology). Open-source music proejcts and the communities around them such as this community and Pure Data thrive because the Internet allow the software to be easily distributed and allow the community to organize and contribute. And web standards such as Web Audio API and backend tech such as Node.js have allowed for new ways of interacting with music, I've used them myself in concerts to trigger sounds on people's phones. And of course the big field of DSP covers everything from the the techniques we use in computer music to how cell phones work. Anyways, I'm not too familiar with the design of the Morse code but I'll be sure to at least read down the relevant bits of the Wikipedia page and/or any other resources you might suggest =). Derek On Jun 23, Andy Farnell wrote: > > > > On Wed, Jun 22, 2016 at 03:33:14PM -0700, Derek Kwan wrote: > > intrigued > > by the interplay and interconnections between telecommunications > > technologies and art, > > And design? Morse Code is quite clever, in efficiency by > symbol frequency and disambiguity of frequently adjacent > symbols. Good protocols are products of design and > evolution and have a certain beauty of their own I think. > > Andy -- = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Morse Code Translator / Decoder
That looks awesome! Like megrimm said, I like the physical visualization of the code with the water and air pulses. Apologies in advance for going more tangential, but I've been intrigued by the interplay and interconnections between telecommunications technologies and art, although my technical knowledge of the former is a bit thin... And esp as a percussionist, I could see morse code transcription as a basis for an interesting audio/visual performative piece. I've def got to look into it more, the most I've done with morse is do fake morse code by playing random sequences of beeps on a bunch of networked phones... This e-mail thread has been inspiring, thanks pd-list! Back to regular pd-list programming... Derek On Jun 16, Jack wrote: > It is a little bit [OT], but here is an installation I co-produced with > Cécile Babiole. It is a chat between two people based on a network > working with water (coding en decoding (extended) Morse) : > http://babiole.net/spip.php?article101 > It is now exhibited in Espace Gantner in Bourogne (East in France) : > http://www.espacemultimediagantner.cg90.net/exposition/anarchronisme-machines-a-perturber-le-temps/ > ++ > > Jack > > > > Le 15/06/2016 20:03, patrice colet a écrit : > > > > > > Le 15/06/2016 à 19:57, Joel Matthys a écrit : > >> Is [list-compare] from an external library? It's not in vanilla. > >> > > I forgot to put this in a subpatch, sorry for that, it's in [list-abs] > > > > > >> Joel > >> > >> On 06/15/2016 12:25 PM, patrice colet wrote: > >>> > >>> Hello, > >>> > >>> I've made such patch to decode termites hammering into morse. > >>> > >>> It uses the process described by andy, and datastructure for storing > >>> characters, it could also now be done with [text] > >>> > >>> I've made a version where [env] testes if there is sound amplitude or > >>> not, > >>> > >>> and compare with templates stored into datastructure. > >>> > >>> Attached is that version that should work with mjlib/morse and > >>> latest pd-vanilla. > >>> > >>> Best, > >>> > >>> patco > >>> > >>> > >>> Le 15/06/2016 à 15:34, Andy Farnell a écrit : > >>>> Yes did that once, but I lost it years ago (the > >>>> patch I mean) > >>>> > >>>> IIRC its not that hard. > >>>> > >>>> Use a [timer] and onset/tone detector, > >>>> and an array that looks up the next state. > >>>> You need a way to navigate a tree - a state machine > >>>> with 26 terminal nodes (36 if you want numbers) > >>>> and there are four symbols to transition states, > >>>> dot, dah, short space and long gap (between letters) > >>>> > >>>> The array is a 4-tree collapsed into a "Turing tape" > >>>> so you use the symbol to select the offset (jump) > >>>> to the next state (table index) based on the last > >>>> symbol. A long gap always resets the index to 0. > >>>> > >>>> cheers, > >>>> andy > >>>> = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Best way to install Pd on Raspberry Pi
hello, you should move the pd binary to /usr/local/bin/ That directory should already be in your PATH and typically binaries any user can run are put there (if you make install from source, it goes there as well). Once you've moved the pd binary to /usr/local/bin, you can type pd not matter what directory you're in and it'll run. Derek > Yep, > > Raspberry Pi 3 > Raspbian Jessie > ++ > > Jack > = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Gem via deken?
On May 06, Dan Wilcox wrote: > Hrmm I wonder what’s going on? There isn’t any useful error messages or debug > info telling me why it doesn't load. > > have a friend who now cannot teach Pd+Gem right now since Gem plainly doesn’t > work via deken currently :( > > > Dan Wilcox > @danomatika <https://twitter.com/danomatika> > danomatika.com <http://danomatika.com/> > robotcowboy.com <http://robotcowboy.com/> > > On May 6, 2016, at 4:19 PM, Max wrote: > > > > No, Gem via deken on OSX never worked for me. Does on Windows and Linux > > without problems though. > > > > > > On 2016년 05월 07일 01:11, Dan Wilcox wrote: > >> Has anyone been able to get Gem to load after installing with deken? > >> I’ve tried with the test releases as well as a custom build, setting > >> path and lib at startup, etc and the best I can get is "gemglutwindow > >> could not create”. > >> > >> This is on OSX. Other externals work fine. > > > Hello, Sorry for jumping in this topic late but I'd figure I'd add to the convo... I'm running Ubuntu and just started toying around with Gem... I got Gem from Deken (the only options being for me being the Gem-v.0.0extended-(Linux-i386-32).tar.gz and I recall seeing one from the usual ubuntu repos but I'm not seeing that now for some reason,.. but the tar.gz one seemed crashier to me? Opening up the pix_texture examples among other things (I think potentially the movie examples as well) would just crash pd. I ended up installing all the dependencies via apt-get and compiling it myself from the latest source i could find on github and that seems to have solved most of the crashing issues (some things like the rtx stuff still crash for me but most of Gem is actually usable now). So I've also had issues with using Gem installed from Deken, but potentially unrelated to the experiences previously mentioned. Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Proposal new default linux desktop config path
On May 09, Winfried Ritsch wrote: > This is not urgent and can wait until next version but since already > discussed, here my proposal: > > Like discussed in "[PD] Preferred/best practice for loading external objects" > thread also config files should be made to freedesktop standard conform > like described in > > https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html > > from > $(HOME)/.pdsettings to > > (suggestion) > $(HOME)/.config/pd/settings.conf > > so configs from one computers home can be copied to another on migration, > upgrade. > > mfG > Winfried Ritsch > Hello, Sorry for jumping on this late but I'm on a Linux box as well and it looks like pd already makes a folder pure-data in .config and stores a list of the recently opened files to recentfiles.conf so I'd like to slightly modify your suggestion to: ${HOME}/.config/pure-data/settings.conf Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] how to get GEM working in Vanilla?
> > forgot to mention: that doesn't help either; same errors > > rolf > > Hello, Rolf, I've gotten around to toying around with Gem lately and here's what worked for me: 1.) In Edit > Preferences > Path, I've made sure to include not just the folder the Gem folder is in, but the Gem folder itself. I have all my externals in: ~/pd-externals so that's included but also I've included this path as well: ~/pd-externals/Gem 2.) Under Edit > Preferences > Startup, I've included Gem as a library to load on startup. Hope this helps! Derek -- = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [OT] choice of sound cards for 16 output channels
On May 07, Jaime Oliver wrote: > Hi Derek, > > Do you have the UFX working properly in Ubuntu? > > Are you able to control the hardware from there? like setting the gain or > compressor or phantom power for a mic for example? > > best, > > J > Hello, I have the little brother UCX with less ins/outs but it's only halfrack size instead of full rack (handy for throwing into an old GPS device case and taking to gigs!), but I'm assuming that the software situation will be similar. The way to control these interfaces from the computer is TotalMix and as far as I know, RME only makes these for Windows and OS X only and there's no Linux clone. Looking on my install of Ubuntu Studio, there's Linux clones of the software for the Hammerfall devices, but the UC* series isn't a part of that (and the original UC without the X isn't even class compliant). I haven't really done any massive multichannel recording stuff, I'm a percussionist by training so I usually use the UCX for live processing myself with Pure Data or Supercollider or on the rare occassion record myself so at most the number of mics I have going in at one time have been about two or three. I could imagine it being a hassle if you're trying to close-mic a chamber to even larger ensembles if you're stuck with adjusting the gains of even 8 separate inputs with just the knob... Here's the big problem (even outside of that) though and imho a pretty big design flaw: you CAN'T set phantom power to the individual XLR ins from the interface itself. I remember spending hours trying to figure it out... What the interface allows though is to set separate presets so what I did is I went on a friend's Mac, opened up TotalMix and saved all the possible 2^2 = 4 phantom power combinations for the 2 XLR ins of my interface (off/off, on/off, off/on, on/on). So I just set the preset combo in the knob I want. The UFX has 4 XLR ins = 4^2 = 16 possible combinations for phantom on/off... I just looked it up and it notes that it has 16 presets for EQ/Low cut but I'm assuming you can use those to set phantom as well since the UCX can? I'm not sure since I don't have access to a UFX so you might have to investigate that further... I got my UCX when I was still a OSX user so I didn't consider these options at the time... but I'm pretty happy with using the interface under Linux with the minor (for my small-scale stuff) hassle of only being able to control settings via the one knob on the device. I'm hoping that with the (very) slowly growing popularity of the Linux desktop via Steam games and dissatisfaction with W10/OSX that pro audio companies will pay more attention to Linux in the future. We finally got our first commercial DAW in Bitwig a while back and I think Reaper is finally making its way to Linux. Until then, it's sort of like being a second-class citizen in the pro audio world using Linux, but I'd much rather use it over the two major alternatives... There's great open-source options for Linux, but the larger commercial software companies don't pay us much attention just yet... Hope this helps! Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [OT] choice of sound cards for 16 output channels
> Hello, > > With the following configuration : > Ubuntu 16.04 > Pd-0.47.0 > > I need to find a solution to send sounds on 16 different speakers. > What is your advice regarding the purchase of USB sound cards under > Linux with this configuration ? For you, which sound cards are more > willing to do this job ? > > I'm running Ubuntu 16.04 and I have an RME UCX that I pretty much love. It's got 8 analog outs built into the device (well, 7 and 8 are mashed together in the form of a stereo quarter inch out) but then you get 8 more with ADAT and 2 with SPDIF. The UCX has a big brother UFX that has even more outs. I use my UCX with the JACK Audio Connection Kit and then use Pure Data (or SuperCollider, or Ardour, or Audacity, or,.. pretty much anything) to talk to JACK. JACK is basically a middle man between your soundcard and everything else and it works great. Well, pretty much all you need is a class compliant audio interface so be on the lookout for those. Unfortunately, audio interface companies don't like to make drivers for Linux but with the interface being class compliant, that doesn't matter.I think it was mentioned earlier that the Focusrite Scarlett 18i20 is an option. There's a handful of them out there.. hope this helps! Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] Oops, test3 bad, test4 up now
> Sorry for the noise - > > I broke the variable delay reader in 0.47-0test3 - I've uploaded test4 > to replace it... http://msp.ucsd.edu/software.htm etc. as usual. > > cheers > Miller > Hello, I'm not sure if it matters all that much but "DSP" in the Pd window next to the checkbox is different from previous versions. It's of a smaller font and not bolded. I've actually been using that to tell the difference between your test I compiled from source and the older apt-get installed one =P. I like it better the old way (always helpful when things are easier to read) but it's no huge deal if you feel strongly otherwise. Also, in terms of the file prompts for openpanel/savepanel/open/save, is it possible to have a "Create New Folder" button? Also, a detailed list view option (name/size/type/date) would be nice at some point but it sounds like a whole lot more work and it's not exactly something I've been absolutely dying without... but the new folder button would be nice =). Thanks for all your hard work! Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-announce] Oops, test3 bad, test4 up now
Hello, Is it possible to have a finer-grained zoom? Forgive the toy metaphors, but at least on my setup (Ubuntu Studio/basically Xubuntu 15.10, 1920x1080 res), there's only two zoom levels: the regular Lego size, and the pretty huge Duplo size. Ideally it'd be useful to have some steps in the middle, some transitionary Lego/Duplo hybrid steps. Thanks! Derek > Sorry for the noise - > > I broke the variable delay reader in 0.47-0test3 - I've uploaded test4 > to replace it... http://msp.ucsd.edu/software.htm etc. as usual. > > cheers > Miller > = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] A_DEFSYM/A_SYMBOL A_DEFFLOAT/A_FLOAT differences?
Hello list, What are the differences between A_DEFSYM and A_SYMBOL and also A_DEFFLOAT and A_FLOAT? In my situation, I'm updating an object that used to take A_DEFSYM as a first argt and A_FLOAT as a second argt, but I want to take a variable number of arguments now so I'm just replacing those with A_GIMME in class_new (and then passing t_symbol *s, int argc, t_atom *argv instead of t_symbol *s, t_floatarg f into the class's _new). Then I'm type-checking each argt of the t_atom by A_SYMBOL and A_FLOAT and getting their contents with atom_getsymbolarg and atom_getfloatarg respectively. However, things seem not to work the same... It could be other bugs I've introduced but could this be also due to going from A_DEFSYM to A_SYMBOL (and perhaps the same for float)? If so, is there a way to typecast to the DEF versions? Thanks! Derek ===== Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD autotools on debian 8.4 broke
> > apt-get build-dep puredata > > finds no puredata source package > > you probably need a `deb-src` line in your /etc/apt/sources.lists file. > This is somewhat related... I haven't updated to the new Ubuntu 16.04 LTS yet (still on 15.10), but are there plans of doing snappy packages as well as debs? Derek ===== Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Good Time Stretching patches/advice?
On Apr 21, S.E.P. wrote: > Hey Derek (and list) > > Thanks for the clarification. I put together a test patch for your > fgraintstr~ (tesuto.pd) and tested it with the attached .wav file (you need > to click on the "read" message). It would seem it works without inputting > any values into the left inlet, which is tantamount to a freeze, I > assume...? > > I'm not sure what a good grain rate is... maybe in the 20s or 30s. In > general, it sounds a bit fuzzy and electronic and the harmonic spectrum is > very unstable... but I'm probably doing something wrong. Any more tips? > Hey, I've attached a patch for you to test out. It sounds fine with smaller soundfiles, but kinda gets unstable with larger soundfiles due to the heaviness of the abstraction...I wrote the abstraction originally for a piece that I ported from supercollider that live-stretches a kalimba to something like 100 times it's original length so I didn't have to use super long soundfiles. I also had the grainrate around 5 ms so that means grains at length 5*32 = 160 ms. Also I didn't do any normalization in these abstractions (but in my external version I do) so note in the test patch I've attached I multiply the outputs of the fgrainstr abstractions by 0.25. Note that fgrainstr2 doesn't do any transposition, but it deals better with longer sound files due to indexing and float precision. If you know how to compile stuff, you can also check out my external version that's also on my github page in the dxkpure repository. That whole thing is sort of in a pre-release stage because I haven't figured out the build process quite yet and my main machine runs ubuntu so I can only provide externals built for linux so far... I've kind of moved my efforts from making abstractions to making externals in interests of efficiency... Derek = Derek Kwan www.derekxkwan.com #N canvas 293 330 747 610 10; #X obj 165 126 soundfiler; #X obj 169 358 dac~ 1 2; #X obj 177 62 openpanel; #X obj 183 36 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 519 76 vsl 15 128 0.01 1 0 0 empty empty rate 0 -9 0 10 -262144 -1 -1 12700 1; #X floatatom 508 217 5 0 0 0 - - -, f 5; #X obj 183 326 *~ 0; #X obj 189 228 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 571 78 vsl 15 128 -12 12 0 0 empty empty transposition 0 -9 0 10 -262144 -1 -1 6350 1; #X floatatom 560 217 5 0 0 0 - - -, f 5; #X msg 569 40 0; #X msg 512 36 1; #X obj 533 13 loadbang; #X obj 329 26 loadbang; #X obj 83 227 table test1; #N canvas 1 59 912 532 phreadabstract 0; #X obj 336 28 inlet; #X obj 467 28 inlet; #X obj 336 50 t b f; #X obj 242 126 samplerate~; #X obj 296 187 /; #X obj 293 297 phasor~; #X obj 296 228 * 1; #X obj 350 172 t b f; #X obj 293 341 outlet~; #X text 385 28 sample size; #X text 508 27 rate; #X text 34 17 PHASREAD~: sample indexer abstraction; #X obj 577 31 inlet; #X text 614 32 phase; #X text 30 75 in1: sample size; #X text 28 94 in2: rate; #X text 29 114 in3: phase; #X text 28 154 DEREK KWAN \, 2016; #X text 36 35 using phasor~; #X obj 293 319 *~ 1; #X connect 0 0 2 0; #X connect 1 0 7 0; #X connect 2 0 3 0; #X connect 2 1 4 1; #X connect 2 1 19 1; #X connect 3 0 4 0; #X connect 4 0 6 0; #X connect 5 0 19 0; #X connect 6 0 5 0; #X connect 7 0 6 0; #X connect 7 1 6 1; #X connect 12 0 5 1; #X connect 19 0 8 0; #X restore 205 190 pd phreadabstract; #X obj 172 244 fgrainstr2~ test1 10; #X obj 347 247 fgrainstr~ test1 10; #X text 393 223 SOUND ON/OFF; #X obj 325 309 *~ 0; #X obj 377 225 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X text 214 225 SOUND ON/OFF; #X msg 158 91 read -resize -maxsize 4e+06 \$1 test1; #X obj 151 292 *~ 0.25; #X obj 363 274 *~ 0.25; #X text 48 26 Derek Kwan \, 2016; #X text 47 42 fgrainstrtest; #X connect 0 0 15 0; #X connect 2 0 22 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 15 1; #X connect 6 0 1 0; #X connect 6 0 1 1; #X connect 7 0 6 1; #X connect 8 0 9 0; #X connect 8 0 17 2; #X connect 10 0 8 0; #X connect 11 0 4 0; #X connect 12 0 11 0; #X connect 12 0 10 0; #X connect 13 0 11 0; #X connect 15 0 16 0; #X connect 15 0 17 0; #X connect 16 0 23 0; #X connect 17 0 24 0; #X connect 19 0 1 0; #X connect 19 0 1 1; #X connect 20 0 19 1; #X connect 22 0 0 0; #X connect 23 0 6 0; #X connect 24 0 19 0; ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Good Time Stretching patches/advice?
On Apr 20, S.E.P. wrote: > @Derek Kwan Many thanks for your reply and your patches. I confess that I > have a poor understanding of arrays and the related object and tend to use > objects/abstractions that take an audio/open panel input. With your > patches, as with some others I've seen, I need to put "pos (samples)" into > the inlet and I'm not sure what that means. Also, while the 1st argument is > the name of the array to be read, I don't know what "catchname" means for > the 2nd argument. Hey, Sorry, I should get around to documenting these abstractions a bit more. fgrainstr2 is a bit more well documented than fgrainstr and I'll get around to specifying things more clearly, which I will do right now... THe first inlet in both are like tabread4~ in that you index into your soundfile (loaded by soundfiler) by sample. A normal sample rate Pure Data is run at is 44100 Hz (you can find this value by banging samplerate~) so to read through a soundfile at a normal rate, you'd index into the object (tabread4 or my fgrainstr) from 0 to 44100 over 1 second to play back the first second at a normal speed and from 0 to 22100 over 1 second to play through the first half second at half speed. You could do this indexing by using something like phasor~ or even easier, line~ by first sending the message 0 to line~ then the message "44100 1000" to ramp to 44100 over 1 second. The audio examples included with Pure Data (namely the ones at the beginning of B) and the help file for soundfiler explain how PD deals with soundfiles more clearly that I just did... As for the specifics in dealing my abstractions, you only really need to deal with fgrainstr and fgrainstr2 (but make sure that fgrain/fgrain2/tukeymaker are in the same folder). You don't even need to open those other abstractions, they're just there to help the main abstractions fgrainstr and fgrainstr2 do their business. Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Good Time Stretching patches/advice?
> Obviously, I'd prefer a unified solution that works for a wide variety of > samples. Any advice? Hello SEP (and list), Another route is the granular route. I've got a bunch of abstractions that attempt to replicate SuperCollider's Warp1 UGen. Basically the idea is to have grains occur one after another in a more-or-less fixed rate (with some randomness thrown in so you don't get a pitch from the grains themselves) and choosing the duration of each grain so that they overlap each other (I can't remember what I chose, I think something like 32x overlap? I think the default rate in Warp1 is 8x but I never managed to get it sounding good with that low of an overlap). I think as well as time-stretching, you have the option of pitch shifting (at least in fgrainstr). fgrainstr needs fgrain (which is a "grain voice") and tukeymaker (which defines the window shape of each grain) and uses tabread4 if I remember correctly. fgrainstr2 needs fgrain2 and tukeymaker and uses tabplay to get around the issue of very large index numbers. With these abstractions, you can go down to a playback rate of 0. I didn't really code these abstractions with other eyes in mind, but I think they're commented enough to be useful. I've also started making these into externals but I'm not sure if they sound as good as the abstraction versions quite yet (still working out the kinks). Instead of a Tukey window, I opted in this case to use a standard cosine window. Here's the link to the abstractions on my github: https://github.com/derekxkwan/pure-data-abstractions/tree/master/fgrain Derek Kwan = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [Scope~] (was Re: can signal inlets that aren't the main inlet have float or message methods?)
> > The symlinks aren't created at compile time but during the install > process. It is done by target 'install-aliases'. Do 'make install > objectsdir=./build' to get a local install. If you still get no > symlinks let me know. > > I think they are only needed on Linux because of how file access happens. > > Katja > > Great! Thanks. Yeah, that works. When I'm doing the local install, I'm getting this error: Makefile.pdlibbuilder:1013: recipe for target 'install-datafiles' failed make: *** [install-datafiles] Error 2 I haven't checked too thoroughly but it looks like everything is building. I'm sudo-ing it if that makes a difference. Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] [Scope~] (was Re: can signal inlets that aren't the main inlet have float or message methods?)
> On Fri, Apr 8, 2016 at 10:52 PM, IOhannes m zmölnig wrote: > > On 04/08/2016 10:29 PM, Alexandre Torres Porres wrote: > >> Then, cyclone does not come as a library for a long time, and "Scope~" is > >> not part of a "-lib" > > > > but it is! > > it is part of a library named "Scope~.pd_linux" which contains a single > > object "Scope~". > > He's building 'scope~.pd_linux'. With a symlink 'Scope~.pd_linux' and > the alias in the C code, wouldn't that be all right? > > > > mdsf > > IOhannes > > > Hello, I'll chime in here because I've been working on this cyclone update as well (Alexandre, hop in here if I'm wrong about any of this). To my knowledge, there isn't any symlinking going on in the build process. I'm using Ubuntu on my machine and I just built it myself and all I get out for scope is scope~.pd_linux. All references to Scope has been changed to scope in Makefile and the source (sickle/Scope.c) got changed to sickle/scope.c. There's no symlink to scope~.pd_linux at all. Do we want to change the Makefile to build a symlink to the built scope~ (and also, what are the reasons for doing so)? Also. is there a symlink equivalent for Windows machines? I'll be honest, I'm not really familiar with Makefile building beyond the very basic stuff (I didn't even know you could make symlinks in Makefiles for instance)... Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] can signal inlets that aren't the main inlet have float or message methods?
> > an example of an object that uses it? where exactly is this function? > Scope~ itself uses sic_setup (for the leftmost inlet). > -Jonathan Hello, So I gave using class_domainsignalin() and class_addfloat() a shot in the setup of both main and proxy classes in my test external which is what sic_setup() is doing for audio rate objects with separate float methods and it does work for the main inlet (which was never an issue) but produces the same results as before for the proxy inlet. Maybe I'm not using the proxy class correctly? And sic_inlet is just a wrapper around inlet_new() and sets a default value of the signal via pd_float() so that's no help to me either. Basically what connects the proxy inlet to the main class from what i've found here: http://puredata.info/Members/mjmogo/proxy-example-for-pd.zip/view is that the proxy class is declared as a member in the main class's struct (t_proxy pxy for example) and serves as the dest for a new inlet declared in the main class's new method through: inlet_new(&x -> x_obj, &x -> pxy.l_pd, 0, 0); which creates a control inlet but all of the proxy's class's methods are accessible (besides dsp methods since it's a control inlet, I've tried...) or this other way I've tried: inlet_new(&x -> x_obj, &x -> pxy.l_pd, &s_signal, &s_signal); or inlet_new(&x -> x_obj, &x -> pxy.l_pd, &s_signal, 0); both of which create an audio inlet and none of the proxy class's methods are accessible (including the class_domainsignalin() and class_addfloat() methods declared in the proxy class) but you can get the signal value going into the second inlet from the main class's perform method. The other things that sic_setup does is if passed SIC_NOMAINSIGNALIN, just make's a float inlet and if passed no float function, makes just a regular signal inlet that interprets floats as signals via CLASS_MAINSIGNALIN(). I'll do more digging... Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] can signal inlets that aren't the main inlet have float or message methods?
> > Actually after looking deeper I have no clue. It looks like cyclone has > some helper functions to set a separate float method for the leftmost signal > inlet. If you can figure out how it works perhaps you can try doing the same > for a secondary inlet. Hello Jonathan, Yeah, scope's setup calls sic_setup (defined in shared/sickle/sic.c) which takes in a dsp function and a float function as input. Looks like if there is a float function passed, the signal stuff gets handled by class_domainsignalin() while floats are handled by class_addfloat() and there isn't a float function passed, it's just all handled by CLASS_MAINSIGNALIN(). I know CLASS_MAINSIGNALIN() and class_addfloat() are called from input into the main inlet, and i suppose class_domainsignalin() is too? There's another function sic_inlet() in sic.c but it looks like just a wrapper around inlet_new() and pd_float(). Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] can signal inlets that aren't the main inlet have float or message methods?
(oops, forgot to cc the list, sorry iohannes, still getting a handle on this...) > did i miss something? > why would it not work with proxy inlets? > With the code I found here: http://puredata.info/Members/mjmogo/proxy-example-for-pd.zip/view tackling proxy inlets (basically making a proxy class and pointing the destination of inlet_new to it), declaring inlet_new with 0's as the selectors (as in the example code) would result in a control inlet (when I'm wanting a signal inlet) but methods like class_addfloat declared in the proxy class's setup would work. Passing &s_signal as the first selector in inlet_new would result in a second inlet, but the values of the signal were only accessible within the main class's dsp/perform methods and not within dsp/perform methods declared in proxy's setup but more importantly, the class_addfloat and so on methods declared in proxy's setup aren't callable. Derek -- = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] garbled list digests?
Hello Dan, I get plaintext digests and I haven't noticed any inconsistencies, although I admit I haven't paid too close attention to the formatting. Perhaps that's an option? Although you do miss out on the benefits of MIME... Derek ===== Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] can signal inlets that aren't the main inlet have float or message methods?
Thanks, John, I'll take a look myself and yeah, I'm not super-optimistic either. There are calls to class_addcreator for "scope~" and "cyclone/scope~" but yeah, "Scope~" is a weird one... Derek = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] can signal inlets that aren't the main inlet have float or message methods?
> Are you really sure you want that? These days most Pd-users expect an > implicit float-to-signal conversion. This might lead to unexpected (though > well-defined) behaviour of your objects. > My advice is to not try hard to break the expectancy of your users. Hello, In normal circumstances, I'd be in 100% agreement with you, the user experience should be consistent throughout the entirety of PD. But in this situation I'm doing work for cyclone, and in particular scope~ accepts a signal in the right inlet for graphing on the Y-axis and a separately a float to change the buffer size and I'm trying to stay as close to the original spec as possible. = Derek Kwan www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] can signal inlets that aren't the main inlet have float or message methods?
Hello, Thanks for pointing me to the concept of proxy inlets. I've tried to implement a test external using this code: http://puredata.info/Members/mjmogo/proxy-example-for-pd.zip/view In the linked code, they're basically making another class of type t_proxy: typedef struct _proxy { t_pd l_pd; // if you want to maintain a pointer to your main class, // if not, besure to change the 'init' function void *yourclass; } t_proxy; This struct is declared as a member of the main class's struct: typedef struct _yourclass { t_object x_obj; t_proxy pxy; } t_yourclass; and the new inlet is created in the "new" method of the main class (yourclass_new) but with the destination pointing to the proxy rather than the main class. This is done via: inlet_new(&x -> x_obj, &x -> pxy.l_pd, 0, 0); with no selectors passed. However, this only makes a control inlet. Trying out: inlet_new(&x -> x_obj, &x -> pxy.l_pd, &s_signal, &s_signal); makes a signal inlet, but it seems like the signal values are only accessible via the main class's dsp/perform methods and not via the dsp/perform methods i tried to make for proxy (I call CLASS_MAINSIGNALIN in both the setup of the main class and the proxy class). That's not a huge deal, but I also declared a float method within proxy's setup via class_addfloat(proxy_class, (t_method)proxy_post); where proxy_post just posts to the pd window whenever it receives a float and this method only seems to be called when I declare the inlet the first way with no selectors (when it's a control inlet) and not the second way passing the signal selectors (making it a signal inlet). In the second way, the float just acts like a substitute for a signal (which is what I don't want). My main goal is to have a second signal inlet that can also accept floats not as a substitute for a signal but calls a separate method. Any ideas? Thanks! Derek -- www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] can signal inlets that aren't the main inlet have float or message methods?
Hey y'all, I'm actually the one that needs this, I've been working with Alexandre on updating Cyclone. If further info is needed, the method I've been trying to use is inlet_new. The part of documentation that seems to drive the nail in the coffin is this bullet-point: "It is not possible to add methods for more than one selector to a right inlet. Particularly it is not possible to add a universal method for arbitrary selectors to a right inlet." found on this page: http://pdstatic.iem.at/externals-HOWTO/pd-externals-HOWTOse8.html#x10-41000C www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] Nettles. Was: Cyclone: List of Issues with existing objects by Alexandre Porres
Hello all, Long time lurker, first time e-mailer. I get the digest version of these e-mails so apologies if I'm not responding to the thread correctly. I'm mostly active on the PD FB group and have been working with Alexandre on updating cyclone, I've done a control rate pong so far and I'm finishing up control and audio rate rounds, and he suggested I poke my head in. I haven't been keeping up with the list that well but he gave me a gist of the ongoings of this thread. I used to use OS X mainly and used Max a lot (last version I heavily used was 6) but about a year/year and a half ago got bit by the open-source bug in a major way, wiped my hd, installed Ubuntu and never looked back. I do miss a lot of features of Max (particularly matrixctrl, but I really don't know how the GUI side of PD works) but at the same time appreciate that PD is its own beast. I don't quite remember how soundfiles worked in Max, but I really dig the PD approach to them in that everything is an array and I like the C-like structs, although I haven't quite utilized them in my own work quite yet. Maybe it's because PD is more spare object-wise or maybe it's just that I've had more time to learn about programming and DSP-related things, but working in PD feels less boxing-glovesy than working in Max. That being said, I don't necessarily advocate an object-by-object port of any version of Max, I don't want to see PD become a Max ripoff, but at the same time I think PD can take a lot of inspiration from some of the functionality of Max, esp. GUI-wise. Furthermore, it would be nice to have some of that Max-inspired functionality centered in a common library easily available to PD users. I remember in older days making patches for people and just telling them to download PD-extended since I knew all the objects I used were included in that particular flavor. Anyways, I digress. I think it'd be a good idea to at least maintain libraries like Cyclone and make sure that their documentation is clear and accessible and while we're at it, update Cyclone with some of the newer Max ideas, either direct ports or inspired by objects. The graphical programming paradigm and Max have evolved a lot since Max 4 and I don't see the harm in taking advantage of these new developments and putting them into PD. Derek -- www.derekxkwan.com ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list