[Csnd-dev] Commit d426527a4db008b55ee7990be0483e0ed8bb181d completely worthless
Date | 2017-03-27 06:09 |
From | Michael Gogins |
Subject | [Csnd-dev] Commit d426527a4db008b55ee7990be0483e0ed8bb181d completely worthless |
No sound, no nothing on WIndows 8.1 built with MinGW. Instruments are allocated, but it looks like audio output is simply not produced, not to file, not to dac. ----------------------------------------------------- Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com |
Date | 2017-03-27 06:29 |
From | Steven Yi |
Subject | Re: [Csnd-dev] Commit d426527a4db008b55ee7990be0483e0ed8bb181d completely worthless |
That commit looks like it's just a merge, and the culprit may be: https://github.com/csound/csound/commit/4d5ec72cb01764bf1045b47f9a82e875f876ab15 I don't know what %la and %a are for formatting. I wonder if just using %g might be a solution? On Mon, Mar 27, 2017 at 1:09 AM, Michael Gogins |
Date | 2017-03-27 06:42 |
From | Michael Gogins |
Subject | Re: [Csnd-dev] Commit d426527a4db008b55ee7990be0483e0ed8bb181d completely worthless |
%a is for hexadecimal floating point. l is for long long int. These make no sense to me in this context. I will debug this. Thanks, Mike ----------------------------------------------------- Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Mon, Mar 27, 2017 at 4:29 PM, Steven Yi |
Date | 2017-03-27 06:48 |
From | Victor Lazzarini |
Subject | Re: [Csnd-dev] Commit d426527a4db008b55ee7990be0483e0ed8bb181d completely worthless |
No problem here on OSX, built from commit d426527a4db008b55ee7990be0483e0ed8bb181d Those changes in fltout look like to do with numeric precision in the score. ======================== Prof. Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy, Maynooth University, Maynooth, Co Kildare, Ireland Tel: 00 353 7086936 Fax: 00 353 1 7086952 > On 27 Mar 2017, at 06:29, Steven Yi |
Date | 2017-03-27 07:29 |
From | Michael Gogins |
Subject | Re: [Csnd-dev] Commit d426527a4db008b55ee7990be0483e0ed8bb181d completely worthless |
Changing %a and %la to %.9g and %.17g fixed this. I have pushed it. I think the intention was to print into the corfile floating-point numbers at maximum precision that can be exactly scanned back in from text. My changes should do that. It's possible that just %a would work for me too, but might require compiler flag changes to work (do we require c99 on MinGW?), Best, Mike ----------------------------------------------------- Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Mon, Mar 27, 2017 at 4:42 PM, Michael Gogins |
Date | 2017-03-27 10:20 |
From | John ff |
Subject | Re: [Csnd-dev] Commit d426527a4db008b55ee7990be0483e0ed8bb181d completely worthless |
Are you going to fix the other uses of %a
Sent from TypeApp
On 27 Mar 2017, at 06:43, Michael Gogins <michael.gogins@GMAIL.COM> wrote: %a is for hexadecimal floating point. l is for long long int. These |
Date | 2017-03-27 10:25 |
From | John ff |
Subject | Re: [Csnd-dev] Commit d426527a4db008b55ee7990be0483e0ed8bb181d completely worthless |
I do rather resent this subject; it solves an issue
Sent from TypeApp
On 27 Mar 2017, at 06:43, Michael Gogins <michael.gogins@GMAIL.COM> wrote: %a is for hexadecimal floating point. l is for long long int. These |
Date | 2017-03-27 11:39 |
From | Michael Gogins |
Subject | Re: [Csnd-dev] Commit d426527a4db008b55ee7990be0483e0ed8bb181d completely worthless |
I'm not sure, it may be better to get %a to work, it is supposed to do as you intend. Maybe mingw needs different flags. But I think combining %a with l is wrong. I will check it all out. Best, Mike On Mar 27, 2017 8:20 PM, "John ff" <jpff@codemist.co.uk> wrote:
|
Date | 2017-03-28 03:12 |
From | Michael Gogins |
Subject | Re: [Csnd-dev] Commit d426527a4db008b55ee7990be0483e0ed8bb181d completely worthless |
First, I apologize for my intemperate tone in my original email. I am tired of fixing things that break on Windows when you change things on Linux without testing them on Windows, but it is wrong for me to get mad at you about this, it is caused not by you but by Microsoft not implementing the C standard in the same way as gcc. Also combining %a with l is fine. However, I have investigated this and found that mingw64 does not implement %a or %la in scanf or sscanf, thus John's code does not work with MinGW. Apparently this is because mingw64 uses the Microsoft C runtime library which does not support these format specificers in scanf or sscanf. I found also by experiment that atof and strotd will not convert back from %a or %la with full precision so cannot be used as an alternative to scanf or sscanf with mingw64. But they will properly convert back from %.17lg. These issues may of course change in the future. I have replaced all %a with %.9g and all %la with %.17lg as I think this is more maintainable than #ifdefs for MinGW. I have run a test to ensure that printing with %.17lg can be scanned with the same specifier to obtain the identical floating point number. There were not many places where %a was used, as you can see from the commit diff. Best, Mike ----------------------------------------------------- Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Mon, Mar 27, 2017 at 9:39 PM, Michael Gogins |