[PD] Tags in pd-extended git repository.
Hi. I'm building an application using libpd and some externals that are in the pd-extended distribution (latest stable build 0.43-4). I need to link the externals statically so I downloaded the pd-extended sources from the git repohttp://pure-data.git.sourceforge.net/git/gitweb.cgi?p=pure-data/pd-extended.git;a=summary . I'm having an issue: The pd-extended repo has no tags for releases (at least not for all of them). The pd vanilla repohttp://pure-data.git.sourceforge.net/git/gitweb.cgi?p=pure-data/pure-data;a=summary, on the other hand has all the tags. Can someone suggest how to figure out which commit to checkout if I want to have code that works just like the 0.43-4 release? (expect same bugs, if any, etc.) BTW, It would be very nice to have the tags in the pd-extended repo :) Thanks. -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Tags in pd-extended git repository.
Hi, sorry for the noise. Looking at the git logs made this pretty obvious. The commit I was looking for is here: http://pure-data.git.sourceforge.net/git/gitweb.cgi?p=pure-data/pd-extended.git;a=commitdiff;h=c1a5e1f63884d3780123a2265865ea4052bcb63d On Mon, Mar 11, 2013 at 8:52 AM, Rafael Vega email.r...@gmail.com wrote: Hi. I'm building an application using libpd and some externals that are in the pd-extended distribution (latest stable build 0.43-4). I need to link the externals statically so I downloaded the pd-extended sources from the git repohttp://pure-data.git.sourceforge.net/git/gitweb.cgi?p=pure-data/pd-extended.git;a=summary . I'm having an issue: The pd-extended repo has no tags for releases (at least not for all of them). The pd vanilla repohttp://pure-data.git.sourceforge.net/git/gitweb.cgi?p=pure-data/pure-data;a=summary, on the other hand has all the tags. Can someone suggest how to figure out which commit to checkout if I want to have code that works just like the 0.43-4 release? (expect same bugs, if any, etc.) BTW, It would be very nice to have the tags in the pd-extended repo :) Thanks. -- Rafael Vega email.r...@gmail.com -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Git version control, diff and pd.
Hello. We're three developers trying to use git version control for a project that includes a handful of relatively complex pd patches and a bunch of text-based source files (c++ and html). A problem arises when git tries to merge one of the pd patches with another version of it: It fails and gives you a .pd file full of conflict markers that confuse the pd file parser. Can anyone provide tips on how to diff two pd patches to find differences quickly so that conflicts can be fixed by hand without spending too much time trying to find differences? Thanks! -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Git version control, diff and pd.
Thanks for the replies, that's what I feared :) Joe, I like your suggestions about abstractions and $0, thanks! On Wed, Apr 17, 2013 at 10:34 AM, Joe White white.j...@gmail.com wrote: Hi Rafa, +1 on what Roman said. We use Pure Data and Git a lot in our projects and you might find you have more luck organising a useable workflow in your team rather than trying to automatically diff/merge patches. Here's some of the things we do: - Split up your code into abstractions instead of sub-patches, treating them like classes. (use $0 passing to ensure communication - also makes your patch local so you could run multiple instances.) - Split tasks so that only one developer works on an abstraction at any one time. Sometimes it's unavoidable but manual merges happen in bigger projects in other languages anyway. - When committing make sure that only the desired files are added. Hope that helps, Joe On 17 April 2013 15:54, Roman Haefeli reduz...@gmail.com wrote: On Wed, 2013-04-17 at 09:27 -0500, Rafael Vega wrote: Can anyone provide tips on how to diff two pd patches to find differences quickly so that conflicts can be fixed by hand without spending too much time trying to find differences? I think there is no way to sanely handle that. I treat .pd files as binary files in this regard. One small change can change the whole file. The objects within a patch are identified and ordered by an automatically given integer number. A small change might cause many objects to be renumbered without any relation to the previous version. Such a diff might be huge even if the change is very small. I think you are left with avoiding conflicts whenever possible as Pd patches cannot be diff'd and merged in a meaningful way. Roman ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- Follow me on Twitter @diplojocus -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Puredata external for websocket communication.
Hi. I started working on a pd external that allows communication with a web browser using websockets. My use case is developing a GUI in html/javascript and sending messages to pd-extended using the websockets javascript API, no proxy or other scripts needed, just my external. You can take a look at it herehttps://github.com/dancing-skeleton/dancing-skeleton/tree/master/pd/externals/src/websocket_server. There's an example patch and html file that explains how to use it. Feedback is welcome :) Where is the central place for this sort of thing? I'll move this to it's own repository and post it there in the next few days. Cheers. -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] (no subject)
On Thursday, November 7, 2013, Joshan Mahmud wrote: Hi all Apologise for the novice question, but I'm trying to work purely with C++ libpd (OSX desktop) and have been working with samples/cppTest/cpptest.xcodeproj from https://github.com/libpd/libpd. I can build the project fine (libpd the cppTest app) but when it opens the test patch (or any for that matter) I do not get any sound. The patch themselves works fine. Print statements are ok and sending receiving messages seem ok. But I even built a patch which just *~ two phasors, and couldn't hear it when I used the cppTest code to open my patch. I don't think there is anything wrong with libpd nor my sound card as I compiled ran the iOSTest project (deployed to a simulator iPhone) and that worked (fuzzy audio, but sound came through). Anyone have any good ideas? I know that with the output AudioUnit on OSX has a default volume of 0 (unlike iOS which has default of 1.0 for volume) so would it be something like that? Thanks!!! Josh Did you send a dsp on message to your patch? -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] (no subject)
On Thu, Nov 7, 2013 at 8:23 AM, Joshan Mahmud joshan.mah...@gmail.comwrote: I believe so, I'm running this code: https://github.com/libpd/libpd/blob/master/samples/cppTest/src/main.cpp and I presume line 56 (pd.computeAudio(true);) switches on DSP... Thanks Josh On Thu, Nov 7, 2013 at 12:54 PM, Rafael Vega email.r...@gmail.com wrote: On Thursday, November 7, 2013, Joshan Mahmud wrote: Hi all Apologise for the novice question, but I'm trying to work purely with C++ libpd (OSX desktop) and have been working with samples/cppTest/cpptest.xcodeproj from https://github.com/libpd/libpd. I can build the project fine (libpd the cppTest app) but when it opens the test patch (or any for that matter) I do not get any sound. The patch themselves works fine. Print statements are ok and sending receiving messages seem ok. But I even built a patch which just *~ two phasors, and couldn't hear it when I used the cppTest code to open my patch. I don't think there is anything wrong with libpd nor my sound card as I compiled ran the iOSTest project (deployed to a simulator iPhone) and that worked (fuzzy audio, but sound came through). Anyone have any good ideas? I know that with the output AudioUnit on OSX has a default volume of 0 (unlike iOS which has default of 1.0 for volume) so would it be something like that? Thanks!!! Josh Did you send a dsp on message to your patch? -- Rafael Vega email.r...@gmail.com Maybe I'm missing something when skimming through your code, but, where are you setting up audio I/O? libpd doesn't do that automatically for you. Here's my implementation https://github.com/rvega/XookyNabox/blob/master/src/main.cpp It uses jack as audio I/O and libpd as DSP processing. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] (no subject)
And yes, the iOS Test project does the audio I/O for you. On Thu, Nov 7, 2013 at 8:30 AM, Rafael Vega email.r...@gmail.com wrote: On Thu, Nov 7, 2013 at 8:23 AM, Joshan Mahmud joshan.mah...@gmail.comwrote: I believe so, I'm running this code: https://github.com/libpd/libpd/blob/master/samples/cppTest/src/main.cpp and I presume line 56 (pd.computeAudio(true);) switches on DSP... Thanks Josh On Thu, Nov 7, 2013 at 12:54 PM, Rafael Vega email.r...@gmail.comwrote: On Thursday, November 7, 2013, Joshan Mahmud wrote: Hi all Apologise for the novice question, but I'm trying to work purely with C++ libpd (OSX desktop) and have been working with samples/cppTest/cpptest.xcodeproj from https://github.com/libpd/libpd. I can build the project fine (libpd the cppTest app) but when it opens the test patch (or any for that matter) I do not get any sound. The patch themselves works fine. Print statements are ok and sending receiving messages seem ok. But I even built a patch which just *~ two phasors, and couldn't hear it when I used the cppTest code to open my patch. I don't think there is anything wrong with libpd nor my sound card as I compiled ran the iOSTest project (deployed to a simulator iPhone) and that worked (fuzzy audio, but sound came through). Anyone have any good ideas? I know that with the output AudioUnit on OSX has a default volume of 0 (unlike iOS which has default of 1.0 for volume) so would it be something like that? Thanks!!! Josh Did you send a dsp on message to your patch? -- Rafael Vega email.r...@gmail.com Maybe I'm missing something when skimming through your code, but, where are you setting up audio I/O? libpd doesn't do that automatically for you. Here's my implementation https://github.com/rvega/XookyNabox/blob/master/src/main.cpp It uses jack as audio I/O and libpd as DSP processing. -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] (no subject)
Check out RTAudio or PortAudio. I've had better results with RTAudio. On Thu, Nov 7, 2013 at 10:14 AM, Joshan Mahmud joshan.mah...@gmail.comwrote: Hi Rafael Many thanks for your feedback! I'm glad there's actually something missing rather than the code just not working. My other question is then, if I don't want to use Jack and just want to use something simple to tie up the dac of libpd to my default sound card - is there a simple way of doing that? Thanks Josh On Thu, Nov 7, 2013 at 1:31 PM, Rafael Vega email.r...@gmail.com wrote: And yes, the iOS Test project does the audio I/O for you. On Thu, Nov 7, 2013 at 8:30 AM, Rafael Vega email.r...@gmail.com wrote: On Thu, Nov 7, 2013 at 8:23 AM, Joshan Mahmud joshan.mah...@gmail.comwrote: I believe so, I'm running this code: https://github.com/libpd/libpd/blob/master/samples/cppTest/src/main.cpp and I presume line 56 (pd.computeAudio(true);) switches on DSP... Thanks Josh On Thu, Nov 7, 2013 at 12:54 PM, Rafael Vega email.r...@gmail.comwrote: On Thursday, November 7, 2013, Joshan Mahmud wrote: Hi all Apologise for the novice question, but I'm trying to work purely with C++ libpd (OSX desktop) and have been working with samples/cppTest/cpptest.xcodeproj from https://github.com/libpd/libpd . I can build the project fine (libpd the cppTest app) but when it opens the test patch (or any for that matter) I do not get any sound. The patch themselves works fine. Print statements are ok and sending receiving messages seem ok. But I even built a patch which just *~ two phasors, and couldn't hear it when I used the cppTest code to open my patch. I don't think there is anything wrong with libpd nor my sound card as I compiled ran the iOSTest project (deployed to a simulator iPhone) and that worked (fuzzy audio, but sound came through). Anyone have any good ideas? I know that with the output AudioUnit on OSX has a default volume of 0 (unlike iOS which has default of 1.0 for volume) so would it be something like that? Thanks!!! Josh Did you send a dsp on message to your patch? -- Rafael Vega email.r...@gmail.com Maybe I'm missing something when skimming through your code, but, where are you setting up audio I/O? libpd doesn't do that automatically for you. Here's my implementation https://github.com/rvega/XookyNabox/blob/master/src/main.cpp It uses jack as audio I/O and libpd as DSP processing. -- Rafael Vega email.r...@gmail.com -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Receiving a compressed audio stream with PD.
Hi list :) I'm building a patch where I need to use 50 audio files. Each one is about 12:50 minutes, I encoded them as 16 bit, 44,1KHz, mono and in total they are taking about 3.3GB. I would like to distribute my patch packaged as a QT application using libpd and the total file size of the application bundle would not be practical for this. I guess this could also be encoded as a single 50 channel file. An option I'm considering is to setup a streaming or file server where the audio files would be available and the PD patch would start downloading the file or files, buffer and start playing when sufficient samples are available. A disk buffer for subsequent plays would be great. So my questions are: Are the components to consume a stream, buffer it, decompress it and get a signal outlet available anywhere as externals or abstractions or whatever? What would be the compressed audio format for something like this? Maybe someone can suggest a different, easier approach? Thanks! :) -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Receiving a compressed audio stream with PD.
OK, I just found [oggamp~] which means I need to setup a ogg/vorbis server or something similar. I think I can handle that. Now, what do you guys suggest? A single 50-channel stream or 50 mono streams? I'm guessing in the latter option, I'll have a hard time trying to sync the 50 streams. Also, any ideas on how to buffer to disk? :) On Sat, Feb 15, 2014 at 11:51 AM, Rafael Vega email.r...@gmail.com wrote: Hi list :) I'm building a patch where I need to use 50 audio files. Each one is about 12:50 minutes, I encoded them as 16 bit, 44,1KHz, mono and in total they are taking about 3.3GB. I would like to distribute my patch packaged as a QT application using libpd and the total file size of the application bundle would not be practical for this. I guess this could also be encoded as a single 50 channel file. An option I'm considering is to setup a streaming or file server where the audio files would be available and the PD patch would start downloading the file or files, buffer and start playing when sufficient samples are available. A disk buffer for subsequent plays would be great. So my questions are: Are the components to consume a stream, buffer it, decompress it and get a signal outlet available anywhere as externals or abstractions or whatever? What would be the compressed audio format for something like this? Maybe someone can suggest a different, easier approach? Thanks! :) -- Rafael Vega email.r...@gmail.com -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] libpd separating gui from core
So to keep this from becoming yet another copy of a previous thread in the archive, here's the thing: someone has to step up and say, I am going to maintain 'core Pd'. That would mean listening to the needs of the community, reviewing patches, and _delegating_ responsibilities. Yes! I really hope someone takes on the challenge. Perhaps we can crowd fund/donate/whatever some of the initial work? IMO, Pd was such a great invention that it managed to stay rolling all these years despite of the lack of a clear path for contributors and a common upstream but the inertia is dying off now as this thread explains. It's been fascinating for me to see what has happened with OpenFrameworks and their Do it with others philosophy. It would be great if the Pd community would migrate into something similar. Optimistically, Rafael. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] midi question
You could also get a sound card with 6 analog inputs and connect each output of the microphone to an individual channel. This way you can do 6 at a time. On Tue, Mar 11, 2014 at 9:51 PM, Aaron L. elmaster...@gmail.com wrote: I've been reading a bunch on the hardware behind this hexaphonic business. Not sure I'm grokking every bit but not too worried yet. I'm curious though, in order to get every string/input into pd (i.e. to interface with the program) and then use each string as some sort of control (via playing said string) would I be required to have 6 separate, physical inputs? So as to have any effect ready at any time? I'd imagine that if I had some sort of splitter such as this: http://www.joness.com/gr300/GK-Expander.htm .I could accomplish the same thing but I'd need to manually switch to whatever string I was going to play for any given effect change, correct? Therefore, this method would pretty much be a one effect at a time type deal? Hard to tell Thanks! On Mon, Mar 10, 2014 at 9:52 PM, pured...@11h11.com wrote: Hi, You can simply: [adc~ 1 Bob's guitar] | | [r speed] | | [delay] | [dac~] [adc~ 2 2nd guitar] | [fiddle~] (or [env~]) | [s speed] Using a hexaphonio pickup (6 individual pickups) - [adc~ 1 2 3 4 5 6] == check the env~, fiddle~, bonk~ for each strings and control various params. No need to use MIDI. à+ ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/ listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [OT] Raspberry Pi Wolfson Audio Card
Anyone wants to share their experience with the BeagleBoneBlack? On Thu, Mar 13, 2014 at 3:11 PM, Brian Fay ovaltinevor...@gmail.com wrote: While I'm sure that Dan is right that the UDOO is the better choice for USB audio, I do have to say that I've had decent success using my Raspberry Pi as a guitar effects processor, with the Behringer UCG102 interface. There's definitely a lot of quirkiness to getting it running... for example ALSA gets in an infinite restart loop when attempting low latency on pd-extended, but vanilla starts up fine under the same settings. And then there's the fact that an issue in the kernel screws up USB audio on major distros like Raspbian. I'm using the Satellite CCRMA distro right now with much better success. So far I've got various delays, a looper, and a waveshaper distortion running within the same patch, at 20ms latency with very few noticeable dropouts. Parameters are adjustable with a QuNeo MIDI controller and with a button attached to the GPIO pins. The Pi is a bit more affordable than the UDOO boards, but then again I had to buy a powered USB hub. Ultimately for one audio input the Raspberry Pi could probably serve most purposes, while the UDOO is more likely to scale to bigger installations. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [OT] Raspberry Pi Wolfson Audio Card
Thank you, Winfried!! :D + an iio-backend for Jack2 to use the internal AD's in jack for processing sensor data in PD ;-))) but tricky I'm quite interested in this. Will you make this available in your blog? + but with a trick: filtered 5V supply for the USB-card not the USB power it seems to get reasonable quality (They have all the same chips like expensive USB cards: C-Media) You mean hooking up the sound card to a different powers supply? I guess the ones you are using are not USB powered? and release the PD-lib (GPIO,AD,I2C,... interfacing) for these devices. Awesmmeee!!! :D :D ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] oggread~ not working on pd-extended or libpd on windows.
Hi. I am trying to use [oggread~] external on an application i'm developing with libpd. No problems on mac or linux. Howerver, on windows (xp and 8, 32bit) I keep getting an error message from oggread~ when I try to open an ogg file. Even ogg_read~-help.pd won't work: oggread~: file C:/Users/rv/any.ogg opened oggread~: error: could not open C:/Users/rv/Desktop/any.ogg as an OggVorbis file oggread~: file closed due to error I have tried pd-extended (both installer and standalone) and I also compiled oggread~ into my application and loaded it with libpd, same outcome. The weirdest part is that if I run pd vanilla, copy oggread~.dll from pd-extended into the extra directory, the ogg files are opened correctly. Any ideas on how to make this work? What kind of debug info can I provide? -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] oggread~ not working on pd-extended or libpd on windows.
Follow up: Looking at the code for oggread~, I found that it does the actual opening of the file with if(ov_open(x-x_file, x-x_ov, NULL, -1) 0) on the ov_open documentation it warns windows programmers not to use ov_open but ov_open_callbacks instead [1] and [2] so I changed that line to the following and I'm getting the message Bitstream does not contain any Vorbis data. I'm pretty sure my file is a valid ogg file. I created it using audacity and also tried with an ogg file downloaded from freesound.org . Any help with this will be very much appreciated :) int ret = ov_open_callbacks(x-x_file, x-x_ov, NULL, -1, OV_CALLBACKS_DEFAULT); switch(ret){ case OV_EREAD: post(A read from media returned an error.); break; case OV_ENOTVORBIS: post(Bitstream does not contain any Vorbis data); break; case OV_EVERSION: post(OV_EVERSION - Vorbis version mismatch.); break; case OV_EBADHEADER: post(Invalid Vorbis bitstream header.); break; case OV_EFAULT: post(Internal logic fault; indicates a bug or heap/stack corruption.); break; } if(ret 0) links: [1] http://xiph.org/vorbis/doc/vorbisfile/ov_open_callbacks.html [2] http://xiph.org/vorbis/doc/vorbisfile/ov_open.html On Fri, Apr 4, 2014 at 5:48 PM, Rafael Vega email.r...@gmail.com wrote: Hi. I am trying to use [oggread~] external on an application i'm developing with libpd. No problems on mac or linux. Howerver, on windows (xp and 8, 32bit) I keep getting an error message from oggread~ when I try to open an ogg file. Even ogg_read~-help.pd won't work: oggread~: file C:/Users/rv/any.ogg opened oggread~: error: could not open C:/Users/rv/Desktop/any.ogg as an OggVorbis file oggread~: file closed due to error I have tried pd-extended (both installer and standalone) and I also compiled oggread~ into my application and loaded it with libpd, same outcome. The weirdest part is that if I run pd vanilla, copy oggread~.dll from pd-extended into the extra directory, the ogg files are opened correctly. Any ideas on how to make this work? What kind of debug info can I provide? -- Rafael Vega email.r...@gmail.com -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] oggread~ not working on pd-extended or libpd on windows.
Even more stuff ;) In the same file, oggread~.c there is a line that reads: if((x-x_file = sys_fopen(filename-s_name, r)) 0) But it should be: if((x-x_file = sys_fopen(filename-s_name, rb)) = 0) Now, to figure out how to submit a patch to pd-extended :P On Fri, Apr 4, 2014 at 7:22 PM, Rafael Vega email.r...@gmail.com wrote: Follow up: Looking at the code for oggread~, I found that it does the actual opening of the file with if(ov_open(x-x_file, x-x_ov, NULL, -1) 0) on the ov_open documentation it warns windows programmers not to use ov_open but ov_open_callbacks instead [1] and [2] so I changed that line to the following and I'm getting the message Bitstream does not contain any Vorbis data. I'm pretty sure my file is a valid ogg file. I created it using audacity and also tried with an ogg file downloaded from freesound.org. Any help with this will be very much appreciated :) int ret = ov_open_callbacks(x-x_file, x-x_ov, NULL, -1, OV_CALLBACKS_DEFAULT); switch(ret){ case OV_EREAD: post(A read from media returned an error.); break; case OV_ENOTVORBIS: post(Bitstream does not contain any Vorbis data); break; case OV_EVERSION: post(OV_EVERSION - Vorbis version mismatch.); break; case OV_EBADHEADER: post(Invalid Vorbis bitstream header.); break; case OV_EFAULT: post(Internal logic fault; indicates a bug or heap/stack corruption.); break; } if(ret 0) links: [1] http://xiph.org/vorbis/doc/vorbisfile/ov_open_callbacks.html [2] http://xiph.org/vorbis/doc/vorbisfile/ov_open.html On Fri, Apr 4, 2014 at 5:48 PM, Rafael Vega email.r...@gmail.com wrote: Hi. I am trying to use [oggread~] external on an application i'm developing with libpd. No problems on mac or linux. Howerver, on windows (xp and 8, 32bit) I keep getting an error message from oggread~ when I try to open an ogg file. Even ogg_read~-help.pd won't work: oggread~: file C:/Users/rv/any.ogg opened oggread~: error: could not open C:/Users/rv/Desktop/any.ogg as an OggVorbis file oggread~: file closed due to error I have tried pd-extended (both installer and standalone) and I also compiled oggread~ into my application and loaded it with libpd, same outcome. The weirdest part is that if I run pd vanilla, copy oggread~.dll from pd-extended into the extra directory, the ogg files are opened correctly. Any ideas on how to make this work? What kind of debug info can I provide? -- Rafael Vega email.r...@gmail.com -- Rafael Vega email.r...@gmail.com -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] oggread~ not working on pd-extended or libpd on windows.
Forgot to say: this fixes my issue, I can now open and play ogg files. On Fri, Apr 4, 2014 at 8:49 PM, Rafael Vega email.r...@gmail.com wrote: Even more stuff ;) In the same file, oggread~.c there is a line that reads: if((x-x_file = sys_fopen(filename-s_name, r)) 0) But it should be: if((x-x_file = sys_fopen(filename-s_name, rb)) = 0) Now, to figure out how to submit a patch to pd-extended :P On Fri, Apr 4, 2014 at 7:22 PM, Rafael Vega email.r...@gmail.com wrote: Follow up: Looking at the code for oggread~, I found that it does the actual opening of the file with if(ov_open(x-x_file, x-x_ov, NULL, -1) 0) on the ov_open documentation it warns windows programmers not to use ov_open but ov_open_callbacks instead [1] and [2] so I changed that line to the following and I'm getting the message Bitstream does not contain any Vorbis data. I'm pretty sure my file is a valid ogg file. I created it using audacity and also tried with an ogg file downloaded from freesound.org. Any help with this will be very much appreciated :) int ret = ov_open_callbacks(x-x_file, x-x_ov, NULL, -1, OV_CALLBACKS_DEFAULT); switch(ret){ case OV_EREAD: post(A read from media returned an error.); break; case OV_ENOTVORBIS: post(Bitstream does not contain any Vorbis data); break; case OV_EVERSION: post(OV_EVERSION - Vorbis version mismatch.); break; case OV_EBADHEADER: post(Invalid Vorbis bitstream header.); break; case OV_EFAULT: post(Internal logic fault; indicates a bug or heap/stack corruption.); break; } if(ret 0) links: [1] http://xiph.org/vorbis/doc/vorbisfile/ov_open_callbacks.html [2] http://xiph.org/vorbis/doc/vorbisfile/ov_open.html On Fri, Apr 4, 2014 at 5:48 PM, Rafael Vega email.r...@gmail.com wrote: Hi. I am trying to use [oggread~] external on an application i'm developing with libpd. No problems on mac or linux. Howerver, on windows (xp and 8, 32bit) I keep getting an error message from oggread~ when I try to open an ogg file. Even ogg_read~-help.pd won't work: oggread~: file C:/Users/rv/any.ogg opened oggread~: error: could not open C:/Users/rv/Desktop/any.ogg as an OggVorbis file oggread~: file closed due to error I have tried pd-extended (both installer and standalone) and I also compiled oggread~ into my application and loaded it with libpd, same outcome. The weirdest part is that if I run pd vanilla, copy oggread~.dll from pd-extended into the extra directory, the ogg files are opened correctly. Any ideas on how to make this work? What kind of debug info can I provide? -- Rafael Vega email.r...@gmail.com -- Rafael Vega email.r...@gmail.com -- Rafael Vega email.r...@gmail.com -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] Which one is the correct repository to submit patches for externals code? (Was: oggread~ not working on pd-extended or libpd on windows.)
I found and fixed a bug in oggread~ that is windows specific. The fix is a one liner in oggread~.c (details in previous thread). I thought the central place for externals code was the SVN community repoat [1] but the comments below confuse me. Can someone please confirm which one is the correct place to submit a patch? Thanks! :) [1] http://sourceforge.net/p/pure-data/svn/HEAD/tree/trunk/ On Fri, Apr 4, 2014 at 10:48 PM, Simon Wise simonzw...@gmail.com wrote: On 05/04/14 14:21, Martin Peach wrote: I think it's here: http://sourceforge.net/p/pure-data/patches/ that seems to be for pd rather than externals??? maybe a patch to debian package pd-pdogg, which could then get upstream, since for some (especially older) externals this may be the most actively maintained repo? I don't know about [oggread~] in particular though ... but is this problem/patch only a windows one? Simon ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/ listinfo/pd-list -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [PD-dev] oggread~ not working on pd-extended or libpd on windows.
Hi Miller, On my windows machines (XP and 8.1), if I tried to open with mode 'r', the later call to ov_open would fail. If I change the mode to 'rb', the later call to ov_open works fine. I also read somewhere that the 'b' mode does nothing on Unix (I still have to test that when I'm back to my Linux and Mac machines). As for the comparison against NULL, the original code was comparing if((x-x_file = sys_fopen(filename-s_name, r)) 0) And I changed it to = instead. You are right in that it makes no sense to compare the sign of a pointer so == it is :) R. On Sat, Apr 5, 2014 at 9:03 AM, Miller Puckette m...@ucsd.edu wrote: I THink it should really be: if((x-x_file = sys_fopen(filename-s_name, r)) == 0) sys_fopen returns NULL (also known as 0) on failure, otherwise a pointer; it makes no sense to check the sign of a pointer as far as I know. cheers Miller On Fri, Apr 04, 2014 at 11:21:37PM -0400, Martin Peach wrote: I think it's here: http://sourceforge.net/p/pure-data/patches/ Martin On 2014-04-04 21:49, Rafael Vega wrote: Even more stuff ;) In the same file, oggread~.c there is a line that reads: if((x-x_file = sys_fopen(filename-s_name, r)) 0) But it should be: if((x-x_file = sys_fopen(filename-s_name, rb)) = 0) Now, to figure out how to submit a patch to pd-extended :P On Fri, Apr 4, 2014 at 7:22 PM, Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com wrote: Follow up: Looking at the code for oggread~, I found that it does the actual opening of the file with if(ov_open(x-x_file, x-x_ov, NULL, -1) 0) on the ov_open documentation it warns windows programmers not to use ov_open but ov_open_callbacks instead [1] and [2] so I changed that line to the following and I'm getting the message Bitstream does not contain any Vorbis data. I'm pretty sure my file is a valid ogg file. I created it using audacity and also tried with an ogg file downloaded from freesound.org http://freesound.org. Any help with this will be very much appreciated :) int ret = ov_open_callbacks(x-x_file, x-x_ov, NULL, -1, OV_CALLBACKS_DEFAULT); switch(ret){ case OV_EREAD: post(A read from media returned an error.); break; case OV_ENOTVORBIS: post(Bitstream does not contain any Vorbis data); break; case OV_EVERSION: post(OV_EVERSION - Vorbis version mismatch.); break; case OV_EBADHEADER: post(Invalid Vorbis bitstream header.); break; case OV_EFAULT: post(Internal logic fault; indicates a bug or heap/stack corruption.); break; } if(ret 0) links: [1] http://xiph.org/vorbis/doc/vorbisfile/ov_open_callbacks.html [2] http://xiph.org/vorbis/doc/vorbisfile/ov_open.html On Fri, Apr 4, 2014 at 5:48 PM, Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com wrote: Hi. I am trying to use [oggread~] external on an application i'm developing with libpd. No problems on mac or linux. Howerver, on windows (xp and 8, 32bit) I keep getting an error message from oggread~ when I try to open an ogg file. Even ogg_read~-help.pd won't work: oggread~: file C:/Users/rv/any.ogg opened oggread~: error: could not open C:/Users/rv/Desktop/any.ogg as an OggVorbis file oggread~: file closed due to error I have tried pd-extended (both installer and standalone) and I also compiled oggread~ into my application and loaded it with libpd, same outcome. The weirdest part is that if I run pd vanilla, copy oggread~.dll from pd-extended into the extra directory, the ogg files are opened correctly. Any ideas on how to make this work? What kind of debug info can I provide? -- Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com -- Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com -- Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com ___ Pd-dev mailing list pd-...@iem.at http://lists.puredata.info/listinfo/pd-dev ___ Pd-dev mailing list pd-...@iem.at http://lists.puredata.info/listinfo/pd-dev -- Rafael Vega email.r...@gmail.com ___ Pd-list@iem.at mailing list
Re: [PD] [PD-dev] oggread~ not working on pd-extended or libpd on windows.
I also find it strange that using the external on pd-vanilla by copying the dll to the extra folder in the vanilla directory works fine. Any ideas why? Maybe has something to do with compiler environment differences between vanilla and extended? Do you guys use MinGW for both? On Sat, Apr 5, 2014 at 10:34 AM, Rafael Vega email.r...@gmail.com wrote: Hi Miller, On my windows machines (XP and 8.1), if I tried to open with mode 'r', the later call to ov_open would fail. If I change the mode to 'rb', the later call to ov_open works fine. I also read somewhere that the 'b' mode does nothing on Unix (I still have to test that when I'm back to my Linux and Mac machines). As for the comparison against NULL, the original code was comparing if((x-x_file = sys_fopen(filename-s_name, r)) 0) And I changed it to = instead. You are right in that it makes no sense to compare the sign of a pointer so == it is :) R. On Sat, Apr 5, 2014 at 9:03 AM, Miller Puckette m...@ucsd.edu wrote: I THink it should really be: if((x-x_file = sys_fopen(filename-s_name, r)) == 0) sys_fopen returns NULL (also known as 0) on failure, otherwise a pointer; it makes no sense to check the sign of a pointer as far as I know. cheers Miller On Fri, Apr 04, 2014 at 11:21:37PM -0400, Martin Peach wrote: I think it's here: http://sourceforge.net/p/pure-data/patches/ Martin On 2014-04-04 21:49, Rafael Vega wrote: Even more stuff ;) In the same file, oggread~.c there is a line that reads: if((x-x_file = sys_fopen(filename-s_name, r)) 0) But it should be: if((x-x_file = sys_fopen(filename-s_name, rb)) = 0) Now, to figure out how to submit a patch to pd-extended :P On Fri, Apr 4, 2014 at 7:22 PM, Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com wrote: Follow up: Looking at the code for oggread~, I found that it does the actual opening of the file with if(ov_open(x-x_file, x-x_ov, NULL, -1) 0) on the ov_open documentation it warns windows programmers not to use ov_open but ov_open_callbacks instead [1] and [2] so I changed that line to the following and I'm getting the message Bitstream does not contain any Vorbis data. I'm pretty sure my file is a valid ogg file. I created it using audacity and also tried with an ogg file downloaded from freesound.org http://freesound.org. Any help with this will be very much appreciated :) int ret = ov_open_callbacks(x-x_file, x-x_ov, NULL, -1, OV_CALLBACKS_DEFAULT); switch(ret){ case OV_EREAD: post(A read from media returned an error.); break; case OV_ENOTVORBIS: post(Bitstream does not contain any Vorbis data); break; case OV_EVERSION: post(OV_EVERSION - Vorbis version mismatch.); break; case OV_EBADHEADER: post(Invalid Vorbis bitstream header.); break; case OV_EFAULT: post(Internal logic fault; indicates a bug or heap/stack corruption.); break; } if(ret 0) links: [1] http://xiph.org/vorbis/doc/vorbisfile/ov_open_callbacks.html [2] http://xiph.org/vorbis/doc/vorbisfile/ov_open.html On Fri, Apr 4, 2014 at 5:48 PM, Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com wrote: Hi. I am trying to use [oggread~] external on an application i'm developing with libpd. No problems on mac or linux. Howerver, on windows (xp and 8, 32bit) I keep getting an error message from oggread~ when I try to open an ogg file. Even ogg_read~-help.pd won't work: oggread~: file C:/Users/rv/any.ogg opened oggread~: error: could not open C:/Users/rv/Desktop/any.ogg as an OggVorbis file oggread~: file closed due to error I have tried pd-extended (both installer and standalone) and I also compiled oggread~ into my application and loaded it with libpd, same outcome. The weirdest part is that if I run pd vanilla, copy oggread~.dll from pd-extended into the extra directory, the ogg files are opened correctly. Any ideas on how to make this work? What kind of debug info can I provide? -- Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com -- Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com -- Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com
Re: [PD] [PD-dev] oggread~ not working on pd-extended or libpd on windows.
Extended on MinGW and my libpd project on MinGW show the same problem, that makes sense. Thanks, Martin! On Sat, Apr 5, 2014 at 10:49 AM, Martin Peach martin.pe...@sympatico.cawrote: I think vanilla is compiled with MSVC and extended with MinGW so there are incompatibilities in the c runtime especially where file pointers are concerned. Sometimes externals will work on both versions but if the external opens its own files using Pd functions to find the path then it probably won't. Martin On 2014-04-05 11:36, Rafael Vega wrote: I also find it strange that using the external on pd-vanilla by copying the dll to the extra folder in the vanilla directory works fine. Any ideas why? Maybe has something to do with compiler environment differences between vanilla and extended? Do you guys use MinGW for both? On Sat, Apr 5, 2014 at 10:34 AM, Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com wrote: Hi Miller, On my windows machines (XP and 8.1), if I tried to open with mode 'r', the later call to ov_open would fail. If I change the mode to 'rb', the later call to ov_open works fine. I also read somewhere that the 'b' mode does nothing on Unix (I still have to test that when I'm back to my Linux and Mac machines). As for the comparison against NULL, the original code was comparing if((x-x_file = sys_fopen(filename-s_name, r)) 0) And I changed it to = instead. You are right in that it makes no sense to compare the sign of a pointer so == it is :) R. On Sat, Apr 5, 2014 at 9:03 AM, Miller Puckette m...@ucsd.edu mailto:m...@ucsd.edu wrote: I THink it should really be: if((x-x_file = sys_fopen(filename-s_name, r)) == 0) sys_fopen returns NULL (also known as 0) on failure, otherwise a pointer; it makes no sense to check the sign of a pointer as far as I know. cheers Miller On Fri, Apr 04, 2014 at 11:21:37PM -0400, Martin Peach wrote: I think it's here: http://sourceforge.net/p/pure-data/patches/ Martin On 2014-04-04 21:49, Rafael Vega wrote: Even more stuff ;) In the same file, oggread~.c there is a line that reads: if((x-x_file = sys_fopen(filename-s_name, r)) 0) But it should be: if((x-x_file = sys_fopen(filename-s_name, rb)) = 0) Now, to figure out how to submit a patch to pd-extended :P On Fri, Apr 4, 2014 at 7:22 PM, Rafael Vega email.r...@gmail.com mailto:email.r...@gmail.com mailto:email.r...@gmail.com mailto:email.r...@gmail.com wrote: Follow up: Looking at the code for oggread~, I found that it does the actual opening of the file with if(ov_open(x-x_file, x-x_ov, NULL, -1) 0) on the ov_open documentation it warns windows programmers not to use ov_open but ov_open_callbacks instead [1] and [2] so I changed that line to the following and I'm getting the message Bitstream does not contain any Vorbis data. I'm pretty sure my file is a valid ogg file. I created it using audacity and also tried with an ogg file downloaded from freesound.org http://freesound.org http://freesound.org. Any help with this will be very much appreciated :) int ret = ov_open_callbacks(x-x_file, x-x_ov, NULL, -1, OV_CALLBACKS_DEFAULT); switch(ret){ case OV_EREAD: post(A read from media returned an error.); break; case OV_ENOTVORBIS: post(Bitstream does not contain any Vorbis data); break; case OV_EVERSION: post(OV_EVERSION - Vorbis version mismatch.); break; case OV_EBADHEADER: post(Invalid Vorbis bitstream header.); break; case OV_EFAULT: post(Internal logic fault; indicates a bug or heap/stack corruption.); break; } if(ret 0) links