Csound Csound-dev Csound-tekno Search About

csoundGetTableArgs() question...

Date2016-06-18 09:25
FromRory Walsh
SubjectcsoundGetTableArgs() question...
I need to check if I'm working with a named gen routine, or a regular one. I have something like this:

        MYFLT* argsPtr;
        csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);

What's the best way to check if argsPtr[0] is a string? 
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2016-06-18 21:45
FromGuillermo Senna
SubjectRe: csoundGetTableArgs() question...
I'm going to add something. If you build a new plugin for function
tables you use a string for calling it. From what I've seen in
Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
rescaling. This may inevitably lead to confusion if you try to do what
Rory's trying to do.

So, the questions I have are:
* Inside a function table plugin, how can I avoid rescaling if p4 is a
string a not a number?
* How can we check for that name with csoundGetTableArgs?
* Should we just continue the GEN number's sequence for resetting p4
inside plugins?
* Should we use an offset like, for example, "pick a number above 100"
for plugins?

Cheers.

On 18/06/16 05:25, Rory Walsh wrote:
> I need to check if I'm working with a named gen routine, or a regular one.
> I have something like this:
>
>         MYFLT* argsPtr;
>         csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>
> What's the best way to check if argsPtr[0] is a string?
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-18 22:01
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
Inside Csound, we would check for a NaN, and there is function to do this. I am not quite sure whether p4 would still be a NaN by the time you access the struct via the API. If that is the case, we just need to export the function that checks for it.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 18 Jun 2016, at 09:25, Rory Walsh <rorywalsh@EAR.IE> wrote:

I need to check if I'm working with a named gen routine, or a regular one. I have something like this:

        MYFLT* argsPtr;
        csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);

What's the best way to check if argsPtr[0] is a string? 
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2016-06-18 22:22
FromGuillermo Senna
SubjectRe: csoundGetTableArgs() question...
Hi Victor,

So what you're saying is that I should reset p4 to -1 in my plugin to
avoid rescaling and then (after that function you mention is made
available) Rory can still retrieve the original string used inside the
.csd as the p4 argument. Is that correct?

On 18/06/16 18:01, Victor Lazzarini wrote:
> Inside Csound, we would check for a NaN, and there is function to do this. I am not quite sure whether p4 would still be a NaN by the time you access the struct via the API. If that is the case, we just need to export the function that checks for it.
>
> Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy
> Maynooth University
> Ireland
>
>> On 18 Jun 2016, at 09:25, Rory Walsh  wrote:
>>
>> I need to check if I'm working with a named gen routine, or a regular one. I have something like this:
>>
>>         MYFLT* argsPtr;
>>         csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>
>> What's the best way to check if argsPtr[0] is a string? 
>> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-18 22:33
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
No, with named GENs there is no way to implicitly turnoff rescaling. GENs need to use an extra parameter for that.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

> On 18 Jun 2016, at 22:22, Guillermo Senna  wrote:
> 
> X-Microsoft-Antispam:
>    UriScan:;BCL:0;PCL:0;RULEID:(421252002)(3010002)(71701004)(71702002);SRVR:AM4PR0201MB1922;
> X-Microsoft-Exchange-Diagnostics:
>    1;AM4PR0201MB1922;20:NENF56pfoWPa6vx2yWCA5SNs/s3/f2LXYj3pnmXCz1PDYoIfbhhhc6izJd4xclLv8c7/UuPcOfKtsapXh4mHzX5SrCPbjAmZkDB0laH5TX10ya2eBewCD1Oys2stgowm9eLtuvIIXKyMTLO1B5WwuB+9X3/K09eaIULSHyL59TZwz4A07/nEYdvGJMR6e8YA0WTgVDt0nLJmkMLmTMszWdwNa2AtXQy5L8CEd5C2DImHGKwGmA524zhlcGNGHLmW;4:QQlsprzVVgTH2CfzVO6BFSJ4KLGH6CFwJ/jEiGU85h3Vhp8/XW0e9EPTAaQodSAZzkY6tOCnnbEF9fEvC51u/zGgu3PZNOx8j/GareQdBv2/zqD97zrUnRNSACpz3mJEBDVBDNZhKmtAyDauXY6KAdylziP9wFi9lvQd2ORw4rBDKbYBYXU6/oYMq/FxvsHEaZUi69D5Ei98NK9f2+47ZAs2w4XowHhCe0O/+FSxRJ9y6iyPSr6EGbwWBT4lXAXhHNtvLAmneEm8Ik5uZyO7gIrEn33atNgZlxzAmiu0DobXZEUvG+kP3HeGww42gMzRE5Y1Xlazk72cNHAyCGTWMDAI5x7wEltXudrUwjwIZvgL9MHoZc9GkTJmQ3Xvadv46wdsjPWcvkT2n4CuIz/KGVeuxq7OfaISueYMqB+T5GgD8/62XS0XzGr9MZJlVnr0+gcqAefJEo8yd3Uj0+0+EC7Z3aDaK3uPqQqGc5ZYWtiFG4QoD3hDV+H/oiBFaZATYIQVCWQaBWcZlW+rIjbeDA==
> X-Exchange-Antispam-Report-Test:
>    UriScan:(20558992708506)(166708455590820)(17755550239193);
> X-Exchange-Antispam-Report-CFA-Test:
>    BCL:0;PCL:0;RULEID:(9101531078)(601004)(2401047)(8121501046)(13016025)(13018025)(3002001)(10201501046);SRVR:AM4PR0201MB1922;BCL:0;PCL:0;RULEID:;SRVR:AM4PR0201MB1922;
> X-Microsoft-Exchange-Diagnostics:
>    =?utf-8?B?MTtBTTRQUjAyMDFNQjE5MjI7MjM6MHFCK2Vlbk1YQkVRbnMyUnJEQmdMWUo0?=
> =?utf-8?B?d3VBMHVPSG1IZ1VuUlhxMWQyM2NZMDMrOHpCV2UrMkplbmlYZWlvSEZDVWRy?=
> =?utf-8?B?YlU1Z2J6U3JONmVKMnRNa3JqdlczVDBibWtiRkw2Q25KT3RqRXltYVVGMDRy?=
> =?utf-8?B?N0ZnMEJlN3JYRWVlRktMTVRVWnZzc0d1Wm1Xc25md0tQRWRhUEs1alduWTE3?=
> =?utf-8?B?ZGVheGVvMVBCTk1hNzZiQ0NpMGVnOHErMzV0MElXOEkxZXBNM2ZrYWJReHR1?=
> =?utf-8?B?SEpjczFFL1gvOUtmc1RISmQyMWsvaGUrR0MwMGFUdENmMW15Mlg4OGg2NUdD?=
> =?utf-8?B?NWRFM0NvWmsrWjR0cTZicGRHTFRMMXhCNk1URDZOYVlPTGJpbHZjSDhmOXhY?=
> =?utf-8?B?UlFMck1KN1RkOEVQUE42U3ErU0JyeTJsaStXOHB1cGszTUF0bWlTVGExOEp6?=
> =?utf-8?B?cFVaWXBpcndteGVmSENralI5N25ZKzVvSHloS1pCUzV4T05EZ01COWwzemda?=
> =?utf-8?B?Q2N4dTBpd1F6WTJhcktBeDgxNjdNTldneVZ4cktQb0V1U0JRUGJhRnVvRmtW?=
> =?utf-8?B?UnFWeDBUTmNjVm1vcndmZ244d2dGSmJKa20zSjZScGk1eS9NZ0gvTWdNeFQz?=
> =?utf-8?B?OEpuOGs5UHN4R1NhVU0xMjZqYVZuYnVzRGdFN2RLWFQ1clVSLzFQZ1lydFlr?=
> =?utf-8?B?R3owTXljWE1sZUtlck9ZZVVrNDJocWFoYkJwTmNSczc0cmVVVUpFT2N2Mmh0?=
> =?utf-8?B?R2VJSGJUQTRxRXlwTU5oMEd6Zm5tRUkvQUEreWNVaXlxazFPUVc1S3FRa2ZM?=
> =?utf-8?B?WGZMbVBsZHdNQ241clpySmRDODNXMmh6Rnplc2lpUmhIVHJtdW9vakNUNUFO?=
> =?utf-8?B?TXRkcDJ0SzNyR1h0bE8wMTFNUXJhL2d4ekNrVUxRc096ZWJtWTQrSVc4endz?=
> =?utf-8?B?M3BGbC80N3RsNlg2TEE1QTIyWmJCd1dsWmtWOGczMEM0c2ZiTFcxOXNUNkR3?=
> =?utf-8?B?RlR0WFR6SzJMeU1JOHZuQi95YklHMXRQTlE3YWZkTnU4UlUvbnNHL3hsdC8x?=
> =?utf-8?B?MlUzZ3ZVd2R2d0djdTc1M2VYMGZCWVM5ZEtBeXZWMTlJbnQwdythejVFdm9i?=
> =?utf-8?B?U2gxOGZsVGJ3TnpOQ2tUdXdqVjNoY1RjQlRURWhNV1QwcDc3QTFHbFZyemlO?=
> =?utf-8?B?Yk54Wm1wRnloWGw1ME5VdVRWcW85c2VLeW52MXdqTTRmS0FRQXRvSVZ4cENp?=
> =?utf-8?B?T1g0cDNUNDJxeVFSQ3IxLzB5aVp3QW45REJSWVhobVBaWXNhaitPdDhmVXdW?=
> =?utf-8?B?cXpHNzRkRWZEbWMxK1BGOWE4RTZKakhKMEJnb3V6andidU0rcDBBRldVVXV6?=
> =?utf-8?B?NmhJQ1dnS201a3Zicll4RWovN2N6N2dzaUdwaDMyTTQ1QlMxYUFCS0JLdFMv?=
> =?utf-8?B?ZDAzT1pzRURHL3VBdWl2U0NXVkxlZmQ1WERWeVpmMTVxS3hJVXNzdXhHS1A5?=
> =?utf-8?B?MmRNU0FMcEhrTTlKS2VsVjB5b3BzcUl1MmdKV1dLNEVBeHQwbXM4dGJzZjZj?=
> =?utf-8?B?YTE0UXNHWEVoWUVlZ095Z3ozTGR5d2NEMk5WREhxQXFsQ3YzWllKUlp5NHBr?=
> =?utf-8?B?MlJQaDdFNUhCb3hoUG5VRFUva1huU0xIQ0ozSmU2bXo1WGcxTkY0dWdXbHdQ?=
> =?utf-8?B?aU1PZjlSNklHd1Roanh1S0JJOENmRFRtcUpiSEFUWE5ycmsyWElaWFMrMlNK?=
> =?utf-8?B?OW9UVTg2bXNjam45YnBTYWJSUW8xNmpUUVJrblVnRFRWbUFEdmc0aFc5K0tv?=
> =?utf-8?B?V0JVOUVtbFFiWUozSU1oemdoMWJPUVRqQlRmMnI1THc0Ukk2OGVFWitnZHFm?=
> =?utf-8?B?YktBU1hOVVpEZmQ4clZXR2p2ajQ3RHR6aTROTzlnMHRzblB2WDkrY2FHVDF1?=
> =?utf-8?B?MXNJWmxEcWtreGg2QUpsbjJnSTFZYjR3bnpIcWQ4T3F5RHorSjlTVFdnV0ds?=
> =?utf-8?B?MnBSUDlGN3Q0UituZGc5bzBtZEhNN29keTRJc3BXVmUvVE10ZHRkaVE1Y3Zx?=
> =?utf-8?B?djVpNC95WnpXcmZvcE5CQVpVZS93QWpCWUcwWVZxdnBoYTNqd290ZGhlNGtU?=
> =?utf-8?B?SlQ5NUE1eENhNlNiWTZGZy83TUtpRnNERTJEdkl4M29Lbk9QODFtcUxoNXh6?=
> =?utf-8?B?Z3ZYcE16Q0Y4dUpCL2dlZGJwR1FITFozMGhZSHpzWU5lM3NIc1pYODluY0w0?=
> =?utf-8?B?R3BtcUMxZlR2NTN2b0h4WnZHRHBiSWxRVStaY2JjVWlXaXdHMTErTWdBPT0=?=
> X-Microsoft-Exchange-Diagnostics:
>    1;AM4PR0201MB1922;6:MMDtK++esAyXQhPQ03ke+YuqnIMlF4GJ2E5nxwZ86Jl6fPHC5/KU+NDf5dSHtP91yJe0jNvCLArfs8hjoo8Z2SnzcY1n1npRwxDRzHIcgNxszjCXuNKRXq33Q6sqKdzSCZyo+nId3w3t+gvFQK0d7+cLHL1k56YaxJNcH+0uNwt5f95qFh0SosiyNmkoXftmFrR1UXpXBtWBB2lhVKQWzTfKVYoovYPFaaj4e1Fl7ZF5ZjfXaCBpafpRNO5EwxquULVNRcEN9LfUe09L0Qk+Ky5FlvKcCE7yP8yJFw2j3PwaM3Q8Bec/NJzDs4XN203K;5:3RUcpE420urmkuCmDhhZZkofbEH3Y5370JIaCPTnTv2BDxH7J57glAENlPOvzGbH2x2THr63OnQLdODg3t+4wGKFDkLQm7LCWjRSHjB71RfsFCRhpzYF9m4B1fIq0VTlgqM957ZtUZyPvDgnoRkokg==;24:Et70dCok0lft2eFT0IpZwAdzGc5pDcYam3NYZ1xUH9yXc19bNhG3O3IEhhC0BxAHai48oMdohszo6KEwnBOIAduQ3N5h+tBuuKbtgb+zD4o=;7:URSz7Mf/RV2o1oUGaLGrQQ7PmbWVkRE6JcNnRU2t0n3wSvUM98VuSP07RjfwllM3CnDNMgBFUU/aDtsXAT5ZE/33qVoaHZXTrAytDrzSPqDpev3vvbAdmkdka3KgSzdXCyxKdov5sxKmUJcFf4Ebpz49DCxltci5CKi9kGFnquNEfR4aziXPt68wrUavpGzqFEL5mS9wSu35pGFpSdT4eYmxr3hql4nqfpTM6Hii2LA=
> SpamDiagnosticOutput: 1:99
> SpamDiagnosticMetadata: NSPM
> X-OriginatorOrg: maynoothuniversity.onmicrosoft.com
> X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2016 21:22:24.5478 (UTC)
> X-MS-Exchange-CrossTenant-Id: 1454f5cc-bb35-4685-bbd9-8621fd8055c9
> X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
> X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0201MB1922
> X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 193.1.219.120
> X-MS-Exchange-CrossPremises-AuthSource: DB3FFO11OLC004.protection.gbl
> X-MS-Exchange-CrossPremises-AuthAs: Anonymous
> X-MS-Exchange-CrossPremises-AVStamp-Service: 1.0
> X-MS-Exchange-CrossPremises-SCL: 1
> X-MS-Exchange-CrossPremises-Antispam-ScanContext:    DIR:Incoming;SFV:NSPM;SKIP:0;
> X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent
> X-OrganizationHeadersPreserved: AM4PR0201MB1922.eurprd02.prod.outlook.com
> 
> Hi Victor,
> 
> So what you're saying is that I should reset p4 to -1 in my plugin to
> avoid rescaling and then (after that function you mention is made
> available) Rory can still retrieve the original string used inside the
> =2Ecsd as the p4 argument. Is that correct?
> 
>> On 18/06/16 18:01, Victor Lazzarini wrote:
>> Inside Csound, we would check for a NaN, and there is function to do th=
> is. I am not quite sure whether p4 would still be a NaN by the time you a=
> ccess the struct via the API. If that is the case, we just need to export=
> the function that checks for it.
>> 
>> Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy
>> Maynooth University
>> Ireland
>> 
>>> On 18 Jun 2016, at 09:25, Rory Walsh  wrote:
>>> 
>>> I need to check if I'm working with a named gen routine, or a regular =
> one. I have something like this:
>>> 
>>>        MYFLT* argsPtr;
>>>        csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>> 
>>> What's the best way to check if argsPtr[0] is a string?=20
>>> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.=
> ie/cgi-bin/wa?A0=3DCSOUND Send bugs reports to https://github.com/csound/=
> csound/issues Discussions of bugs and features can be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=3DCSOUND
>> Send bugs reports to
>>        https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=3DCSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-18 22:42
FromGuillermo Senna
SubjectRe: csoundGetTableArgs() question...
My named GEN can't function with rescaling. I've seen that fareygen is
similar and so it does "ff->e.p[4] = -1;" If I do that, can Rory
retrieve the string used to call the named GEN inside the .csd somehow
and not the -1?

On 18/06/16 18:33, Victor Lazzarini wrote:
> No, with named GENs there is no way to implicitly turnoff rescaling. GENs need to use an extra parameter for that.
>
> Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy
> Maynooth University
> Ireland
>
>> On 18 Jun 2016, at 22:22, Guillermo Senna  wrote:
>>
>> X-Microsoft-Antispam:
>>    UriScan:;BCL:0;PCL:0;RULEID:(421252002)(3010002)(71701004)(71702002);SRVR:AM4PR0201MB1922;
>> X-Microsoft-Exchange-Diagnostics:
>>    1;AM4PR0201MB1922;20:NENF56pfoWPa6vx2yWCA5SNs/s3/f2LXYj3pnmXCz1PDYoIfbhhhc6izJd4xclLv8c7/UuPcOfKtsapXh4mHzX5SrCPbjAmZkDB0laH5TX10ya2eBewCD1Oys2stgowm9eLtuvIIXKyMTLO1B5WwuB+9X3/K09eaIULSHyL59TZwz4A07/nEYdvGJMR6e8YA0WTgVDt0nLJmkMLmTMszWdwNa2AtXQy5L8CEd5C2DImHGKwGmA524zhlcGNGHLmW;4:QQlsprzVVgTH2CfzVO6BFSJ4KLGH6CFwJ/jEiGU85h3Vhp8/XW0e9EPTAaQodSAZzkY6tOCnnbEF9fEvC51u/zGgu3PZNOx8j/GareQdBv2/zqD97zrUnRNSACpz3mJEBDVBDNZhKmtAyDauXY6KAdylziP9wFi9lvQd2ORw4rBDKbYBYXU6/oYMq/FxvsHEaZUi69D5Ei98NK9f2+47ZAs2w4XowHhCe0O/+FSxRJ9y6iyPSr6EGbwWBT4lXAXhHNtvLAmneEm8Ik5uZyO7gIrEn33atNgZlxzAmiu0DobXZEUvG+kP3HeGww42gMzRE5Y1Xlazk72cNHAyCGTWMDAI5x7wEltXudrUwjwIZvgL9MHoZc9GkTJmQ3Xvadv46wdsjPWcvkT2n4CuIz/KGVeuxq7OfaISueYMqB+T5GgD8/62XS0XzGr9MZJlVnr0+gcqAefJEo8yd3Uj0+0+EC7Z3aDaK3uPqQqGc5ZYWtiFG4QoD3hDV+H/oiBFaZATYI
 QVCWQaBWcZlW+rIjbeDA==
>> X-Exchange-Antispam-Report-Test:
>>    UriScan:(20558992708506)(166708455590820)(17755550239193);
>> X-Exchange-Antispam-Report-CFA-Test:
>>    BCL:0;PCL:0;RULEID:(9101531078)(601004)(2401047)(8121501046)(13016025)(13018025)(3002001)(10201501046);SRVR:AM4PR0201MB1922;BCL:0;PCL:0;RULEID:;SRVR:AM4PR0201MB1922;
>> X-Microsoft-Exchange-Diagnostics:
>>    =?utf-8?B?MTtBTTRQUjAyMDFNQjE5MjI7MjM6MHFCK2Vlbk1YQkVRbnMyUnJEQmdMWUo0?=
>> =?utf-8?B?d3VBMHVPSG1IZ1VuUlhxMWQyM2NZMDMrOHpCV2UrMkplbmlYZWlvSEZDVWRy?=
>> =?utf-8?B?YlU1Z2J6U3JONmVKMnRNa3JqdlczVDBibWtiRkw2Q25KT3RqRXltYVVGMDRy?=
>> =?utf-8?B?N0ZnMEJlN3JYRWVlRktMTVRVWnZzc0d1Wm1Xc25md0tQRWRhUEs1alduWTE3?=
>> =?utf-8?B?ZGVheGVvMVBCTk1hNzZiQ0NpMGVnOHErMzV0MElXOEkxZXBNM2ZrYWJReHR1?=
>> =?utf-8?B?SEpjczFFL1gvOUtmc1RISmQyMWsvaGUrR0MwMGFUdENmMW15Mlg4OGg2NUdD?=
>> =?utf-8?B?NWRFM0NvWmsrWjR0cTZicGRHTFRMMXhCNk1URDZOYVlPTGJpbHZjSDhmOXhY?=
>> =?utf-8?B?UlFMck1KN1RkOEVQUE42U3ErU0JyeTJsaStXOHB1cGszTUF0bWlTVGExOEp6?=
>> =?utf-8?B?cFVaWXBpcndteGVmSENralI5N25ZKzVvSHloS1pCUzV4T05EZ01COWwzemda?=
>> =?utf-8?B?Q2N4dTBpd1F6WTJhcktBeDgxNjdNTldneVZ4cktQb0V1U0JRUGJhRnVvRmtW?=
>> =?utf-8?B?UnFWeDBUTmNjVm1vcndmZ244d2dGSmJKa20zSjZScGk1eS9NZ0gvTWdNeFQz?=
>> =?utf-8?B?OEpuOGs5UHN4R1NhVU0xMjZqYVZuYnVzRGdFN2RLWFQ1clVSLzFQZ1lydFlr?=
>> =?utf-8?B?R3owTXljWE1sZUtlck9ZZVVrNDJocWFoYkJwTmNSczc0cmVVVUpFT2N2Mmh0?=
>> =?utf-8?B?R2VJSGJUQTRxRXlwTU5oMEd6Zm5tRUkvQUEreWNVaXlxazFPUVc1S3FRa2ZM?=
>> =?utf-8?B?WGZMbVBsZHdNQ241clpySmRDODNXMmh6Rnplc2lpUmhIVHJtdW9vakNUNUFO?=
>> =?utf-8?B?TXRkcDJ0SzNyR1h0bE8wMTFNUXJhL2d4ekNrVUxRc096ZWJtWTQrSVc4endz?=
>> =?utf-8?B?M3BGbC80N3RsNlg2TEE1QTIyWmJCd1dsWmtWOGczMEM0c2ZiTFcxOXNUNkR3?=
>> =?utf-8?B?RlR0WFR6SzJMeU1JOHZuQi95YklHMXRQTlE3YWZkTnU4UlUvbnNHL3hsdC8x?=
>> =?utf-8?B?MlUzZ3ZVd2R2d0djdTc1M2VYMGZCWVM5ZEtBeXZWMTlJbnQwdythejVFdm9i?=
>> =?utf-8?B?U2gxOGZsVGJ3TnpOQ2tUdXdqVjNoY1RjQlRURWhNV1QwcDc3QTFHbFZyemlO?=
>> =?utf-8?B?Yk54Wm1wRnloWGw1ME5VdVRWcW85c2VLeW52MXdqTTRmS0FRQXRvSVZ4cENp?=
>> =?utf-8?B?T1g0cDNUNDJxeVFSQ3IxLzB5aVp3QW45REJSWVhobVBaWXNhaitPdDhmVXdW?=
>> =?utf-8?B?cXpHNzRkRWZEbWMxK1BGOWE4RTZKakhKMEJnb3V6andidU0rcDBBRldVVXV6?=
>> =?utf-8?B?NmhJQ1dnS201a3Zicll4RWovN2N6N2dzaUdwaDMyTTQ1QlMxYUFCS0JLdFMv?=
>> =?utf-8?B?ZDAzT1pzRURHL3VBdWl2U0NXVkxlZmQ1WERWeVpmMTVxS3hJVXNzdXhHS1A5?=
>> =?utf-8?B?MmRNU0FMcEhrTTlKS2VsVjB5b3BzcUl1MmdKV1dLNEVBeHQwbXM4dGJzZjZj?=
>> =?utf-8?B?YTE0UXNHWEVoWUVlZ095Z3ozTGR5d2NEMk5WREhxQXFsQ3YzWllKUlp5NHBr?=
>> =?utf-8?B?MlJQaDdFNUhCb3hoUG5VRFUva1huU0xIQ0ozSmU2bXo1WGcxTkY0dWdXbHdQ?=
>> =?utf-8?B?aU1PZjlSNklHd1Roanh1S0JJOENmRFRtcUpiSEFUWE5ycmsyWElaWFMrMlNK?=
>> =?utf-8?B?OW9UVTg2bXNjam45YnBTYWJSUW8xNmpUUVJrblVnRFRWbUFEdmc0aFc5K0tv?=
>> =?utf-8?B?V0JVOUVtbFFiWUozSU1oemdoMWJPUVRqQlRmMnI1THc0Ukk2OGVFWitnZHFm?=
>> =?utf-8?B?YktBU1hOVVpEZmQ4clZXR2p2ajQ3RHR6aTROTzlnMHRzblB2WDkrY2FHVDF1?=
>> =?utf-8?B?MXNJWmxEcWtreGg2QUpsbjJnSTFZYjR3bnpIcWQ4T3F5RHorSjlTVFdnV0ds?=
>> =?utf-8?B?MnBSUDlGN3Q0UituZGc5bzBtZEhNN29keTRJc3BXVmUvVE10ZHRkaVE1Y3Zx?=
>> =?utf-8?B?djVpNC95WnpXcmZvcE5CQVpVZS93QWpCWUcwWVZxdnBoYTNqd290ZGhlNGtU?=
>> =?utf-8?B?SlQ5NUE1eENhNlNiWTZGZy83TUtpRnNERTJEdkl4M29Lbk9QODFtcUxoNXh6?=
>> =?utf-8?B?Z3ZYcE16Q0Y4dUpCL2dlZGJwR1FITFozMGhZSHpzWU5lM3NIc1pYODluY0w0?=
>> =?utf-8?B?R3BtcUMxZlR2NTN2b0h4WnZHRHBiSWxRVStaY2JjVWlXaXdHMTErTWdBPT0=?=
>> X-Microsoft-Exchange-Diagnostics:
>>    1;AM4PR0201MB1922;6:MMDtK++esAyXQhPQ03ke+YuqnIMlF4GJ2E5nxwZ86Jl6fPHC5/KU+NDf5dSHtP91yJe0jNvCLArfs8hjoo8Z2SnzcY1n1npRwxDRzHIcgNxszjCXuNKRXq33Q6sqKdzSCZyo+nId3w3t+gvFQK0d7+cLHL1k56YaxJNcH+0uNwt5f95qFh0SosiyNmkoXftmFrR1UXpXBtWBB2lhVKQWzTfKVYoovYPFaaj4e1Fl7ZF5ZjfXaCBpafpRNO5EwxquULVNRcEN9LfUe09L0Qk+Ky5FlvKcCE7yP8yJFw2j3PwaM3Q8Bec/NJzDs4XN203K;5:3RUcpE420urmkuCmDhhZZkofbEH3Y5370JIaCPTnTv2BDxH7J57glAENlPOvzGbH2x2THr63OnQLdODg3t+4wGKFDkLQm7LCWjRSHjB71RfsFCRhpzYF9m4B1fIq0VTlgqM957ZtUZyPvDgnoRkokg==;24:Et70dCok0lft2eFT0IpZwAdzGc5pDcYam3NYZ1xUH9yXc19bNhG3O3IEhhC0BxAHai48oMdohszo6KEwnBOIAduQ3N5h+tBuuKbtgb+zD4o=;7:URSz7Mf/RV2o1oUGaLGrQQ7PmbWVkRE6JcNnRU2t0n3wSvUM98VuSP07RjfwllM3CnDNMgBFUU/aDtsXAT5ZE/33qVoaHZXTrAytDrzSPqDpev3vvbAdmkdka3KgSzdXCyxKdov5sxKmUJcFf4Ebpz49DCxltci5CKi9kGFnquNEfR4aziXPt68w
 rUavpGzqFEL5mS9wSu35pGFpSdT4eYmxr3hql4nqfpTM6Hii2LA=
>> SpamDiagnosticOutput: 1:99
>> SpamDiagnosticMetadata: NSPM
>> X-OriginatorOrg: maynoothuniversity.onmicrosoft.com
>> X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2016 21:22:24.5478 (UTC)
>> X-MS-Exchange-CrossTenant-Id: 1454f5cc-bb35-4685-bbd9-8621fd8055c9
>> X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
>> X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0201MB1922
>> X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 193.1.219.120
>> X-MS-Exchange-CrossPremises-AuthSource: DB3FFO11OLC004.protection.gbl
>> X-MS-Exchange-CrossPremises-AuthAs: Anonymous
>> X-MS-Exchange-CrossPremises-AVStamp-Service: 1.0
>> X-MS-Exchange-CrossPremises-SCL: 1
>> X-MS-Exchange-CrossPremises-Antispam-ScanContext:    DIR:Incoming;SFV:NSPM;SKIP:0;
>> X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent
>> X-OrganizationHeadersPreserved: AM4PR0201MB1922.eurprd02.prod.outlook.com
>>
>> Hi Victor,
>>
>> So what you're saying is that I should reset p4 to -1 in my plugin to
>> avoid rescaling and then (after that function you mention is made
>> available) Rory can still retrieve the original string used inside the
>> =2Ecsd as the p4 argument. Is that correct?
>>
>>> On 18/06/16 18:01, Victor Lazzarini wrote:
>>> Inside Csound, we would check for a NaN, and there is function to do th=
>> is. I am not quite sure whether p4 would still be a NaN by the time you a=
>> ccess the struct via the API. If that is the case, we just need to export=
>> the function that checks for it.
>>> Victor Lazzarini
>>> Dean of Arts, Celtic Studies, and Philosophy
>>> Maynooth University
>>> Ireland
>>>
>>>> On 18 Jun 2016, at 09:25, Rory Walsh  wrote:
>>>>
>>>> I need to check if I'm working with a named gen routine, or a regular =
>> one. I have something like this:
>>>>        MYFLT* argsPtr;
>>>>        csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>>
>>>> What's the best way to check if argsPtr[0] is a string?=20
>>>> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.=
>> ie/cgi-bin/wa?A0=3DCSOUND Send bugs reports to https://github.com/csound/=
>> csound/issues Discussions of bugs and features can be posted here
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=3DCSOUND
>>> Send bugs reports to
>>>        https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=3DCSOUND
>> Send bugs reports to
>>        https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-18 22:54
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
Not sure. I'd need to look at the Csound code to check (not at the computer now).

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

> On 18 Jun 2016, at 22:42, Guillermo Senna  wrote:
> 
> =
> X-Microsoft-Antispam:
>    UriScan:;BCL:0;PCL:0;RULEID:(421252002)(3010002)(71701004)(71702002);SRVR:HE1PR0201MB1497;
> X-Microsoft-Exchange-Diagnostics:
>    1;HE1PR0201MB1497;20:zIgTnhb5gaHAdat1R533+Bm0ixRmS4EPEv8VA2cLVwD3XV1VK6Sh6e4dtccEvPan8rqEUGMtyD2ajkXZJ3nR/N67lip6R0NZCxyJ5o+RHVrTYExisQb+7WvdU3iO4TBVpizd4RCXtU7f3UsuhKaDpM1kSNQNc4u6TDhNG+a4CNmHFsoOlka2s9rJ+zsunjfGMOOeExtNWSnIPLk+10RXrz8D2osm+8fCnjyh08gRqqm+Vab7x/T2Frjpg7gskkIf;4:W5XDbhFIBnvShQb7Vu3QOj5UYSjkC+zHaYRFDhGv2L+SJ45Dqz4Egg8yUYpyfUrxuBobhaXDxMYwFC+gLfMiR/aOw8p8N3t8XkSlXqwf/sHigxiNy9+98Fz7Oky8xfunS/Sa//6Ctikh7W11r8NYC1Xzv57SDMNRgpHoHr75e7iMKwde82lrqVd6qr13G27roPWUbnoJMC15Ea34cp77BBiD2cWSJ7VDi+C4ldxUYYxNAvktPZZiaWbeTtNcH5GIihwQUDjbEqyjhh1tKnZpzaaEQrTJS0CHQhgOUwO1t23pz2mgChc6Ky+XMvAoy0U6ezjKxbqqx57J4YDJfTP9IlvmcqxVT+ldpEn/ZGjH0lO/zQSGEkw71gM08g2iC6QbLweI9jtwwviUkCO140cZXrEypkXidxn9NGRH49fZ1tQGYGt3583CX8UrMT2Z9uQvD+zjo6dLsgUaqb75WF82etaj/aSMv+V3YB/uXylKoY1ngS4uWoZHLGwpYtcOl9GdM3HO7b0Js7CwUB0NVQ04Wn4vvSp5nqF9u8tmFFkzNDieb8urKV2CS9kg5K/VSSlF8KP5MnfbLL8R5S5nFiO5dCswT1WFUwRz3n97R5BFfdoQs9B2+U9/iAegkklOAkNR224BLPj49xmPGOGqXlx3+Qvdx0OWkL33Ddtu1MCdZuAtfG94LCmNys6LSdIhqLZa
> X-Exchange-Antispam-Report-Test:
>    UriScan:(20558992708506)(166708455590820)(55684623447791)(189930954265078)(243139608849269)(142120096219846)(48713779882656)(17755550239193);
> X-Exchange-Antispam-Report-CFA-Test:
>    BCL:0;PCL:0;RULEID:(9101531078)(601004)(2401047)(13016025)(8121501046)(13018025)(3002001)(10201501046);SRVR:HE1PR0201MB1497;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0201MB1497;
> X-Microsoft-Exchange-Diagnostics:
>    =?Windows-1252?Q?1;HE1PR0201MB1497;23:+9K0Hb3H20SNlYx0cpfF8oBmewPgvVbAleo?=
> =?Windows-1252?Q?47BFPod4er0izqWGabXBfnzo9J7nKR0rsVVcpV/dvvpcxte6STQdWG8H?=
> =?Windows-1252?Q?WUXEJaQgHpnOmOg5OeaJC9TugGNThkoVagZuZc+W9zmo0KA3bqnpwB1w?=
> =?Windows-1252?Q?1a4w7KtzwMGhdp6peYmhZMmjG9fKU6QVCIIBt/Bddg8tk3WtL34q2gPb?=
> =?Windows-1252?Q?UnfwmoED5kdKMfigrcY1O+GbQoP9uV97lws00n0UNYUIEeChbvZd5wDe?=
> =?Windows-1252?Q?FUCIXJfOeNSOL/y/iTvJ5gKBc8WBYnVKA3Cu9VUKoUTdHL8sp2W0RDcO?=
> =?Windows-1252?Q?riR7EBDWUvrGV4IVbVjCyHbmU066QKj9A1EFLnAzZz5te4lrwFL84vT5?=
> =?Windows-1252?Q?pbBOVIVNtVpRL1GcY0z4Qf6VgZxS9SB4pztp8gglzz5js86KTjI2L0QM?=
> =?Windows-1252?Q?MF/vAErm/Tj7OgjLkyT/YxLkcIs4pwA0Rj7jMTMsaxqUHVt9D4Q+FxJr?=
> =?Windows-1252?Q?rkbNQFWOvfSwd4NSSaWW9WT3Iyya6AFRXkjnoVj5EXgUW5WxlnbxK9+9?=
> =?Windows-1252?Q?L/gTcvpoZ/tofL4pYZELzY1qE3A2SzE9dLAT/l9kKyj6u8H+2nU9Ck+I?=
> =?Windows-1252?Q?ORoxoHwThKP+eUSnBEQmFE2/hBLecnkOJh13HEMsT6y6TLjy5ajGkO7g?=
> =?Windows-1252?Q?P5M9kkYUSzzhc27gm4JZTzM3TMFZtHoeye+igsUSQo6gHPKf662+e2di?=
> =?Windows-1252?Q?zUTfpo21SWHqEjhGPUBOdApdg7n4MN+zKeWwxWDibe4xY6832LyZlp3H?=
> =?Windows-1252?Q?xjOAeGdHlCqCufYPsVwMNC/zxwhFMWOBbvj3BYtdK1O5jAVONV+F2pbB?=
> =?Windows-1252?Q?qXD2jj0CV3M3DTY+5Fq5yuZUUTFGa9i4fpsnI85GeGtgIwU0LXG+CaSD?=
> =?Windows-1252?Q?KU9rBWIo8cD1XRc57JzFz/j6G7hMMclCz0CB5S6xCSLtOrZjOQKjajvl?=
> =?Windows-1252?Q?NjPPGTc4YkB0trSPInks5IfxI4D9awGx+9KLCooHp3lANofP8DW6Vyxc?=
> =?Windows-1252?Q?YMESc+7ZraqjtIXl2d4AaeR/O+J0ZF2pU+tNnstVCEw2gjj07WCdmDmC?=
> =?Windows-1252?Q?/qoSkZ2LqwbLrsmGftO/BOvDiiQyAEhGv80/Ci3qFEYOdy6NPt74pQDg?=
> =?Windows-1252?Q?tk/EL1g2DrjZ2wPpGavupm2HpErx78rwSKp7zfa8eVGygl8OY7tNUub1?=
> =?Windows-1252?Q?Q1WhhXPOT5Nz6tXrM+42DOsbJKn9VgxTkVONF+uRVXIH8uxWgsdc8qrM?=
> =?Windows-1252?Q?2mJRriNMYhwIpSf9sJU1FlHSxC4nvJdsMCZK8YlcWeOwOK/ZZbW/YkCo?=
> =?Windows-1252?Q?SKIYtubBc+c0jq8YLvX14tCkiMtdM6zMrxHFlUsw+jnX9iEPE9uZC86A?=
> =?Windows-1252?Q?QMvNyDgFuihPorkYVnTtixIXM+ogmez+oLpj5txFFW/bWTX0aezHt0d6?=
> =?Windows-1252?Q?NCLQhUIAlero0efWfys6JI+WxEEYcuJqfx/HnqnbEgGxXBiF9fDoTPXX?=
> =?Windows-1252?Q?IrFLgC1FiDy20TeLm3gxSbic2GidTzumTvlngZ/yZCPIRpH9yJ7/mR4N?=
> =?Windows-1252?Q?eqBYIzYi/wvPAM0HeqdiqDgevJM7AV69WASPBOUL+llUpERg7S1jb0mH?=
> =?Windows-1252?Q?iVp1PjouPCHM8/jBXt3aSDR5fPTx/nyhmVTQD129EBdx8sOvWDU0Vk6x?=
> =?Windows-1252?Q?AVnioFXMYpG5FJC+kVfsL2a/EMG6iZTkL+aXol7DumzWZDRnHQxZavFM?=
> =?Windows-1252?Q?sMm+XdXTwcISqKmt8PVuADAqJ88pho9nXnnPWuGy4v8NITEaLrn4DhiS?=
> =?Windows-1252?Q?Sl5rFQ+esznQmAMHiW2wMatO51OEFhZGIDA=3D=3D?=
> X-Microsoft-Exchange-Diagnostics:
>    1;HE1PR0201MB1497;6:F2jXfwPwZpIOE92YJfdA0lHnlDDLZw74CdJYpJP8nOJ4xn4bGt2VFI1um7D8b3DwuBV43bJQAIujKcpSsfoZq7X4cTSRVsQ7Dq70uczpenGIhQgxIa6x4uoV0iGkGZwrzi3LIxLLo1X1ayGNpczWlUXds32RrFgEm/pvU7X1By24xJWGREmPyTeTE/E1EScCrVIu0llGB00ELkxydQr9trJXVYFdVcQA+AeagE7/wLJmGKTGWnMI3mnqNwuthHy0BpSOOt1p4h3r66WNdmZknGRfE7wLLcya0o29SKYRVeaoib8al5Yi1Bcvv6lRE3XH;5:UFrul0A2abFPHE7vCPKhaT34/7Rhej3pN9kzZD0OZ/qAJ1a3uyQIkyp/7LI42xPXKcLA47pJgcz8My+o7DeehCaME3MoTsU85o8YsmAT0/mCYP39S2nw8HojdpcNzDb+kvMLTp7JbQp7lWQ+iBKOnA==;24:KOtMkdFymww6Bvnbs1sXzb/bxPNIOwYbcZAJf2KJo91ME3an1zb0fyVqJQdSF8o3AKxO3Y/FQEr6dzCOo9f1vtLzt80+mLW9ebe7LURWauc=;7:z53f0V20HxVWDdDoD6IXViiS15xa0L12AJxWOoq5TV60oB+I5dQyCl+umbguYtv4MmrgQ1gpVbyZOcRVdGRXyOHHDeISWFcNfJjSWoSQE6tCUFjS2OZ/JaYW2b7ErrErcDvoR8eedN6FvxiSl7VU4IFcTkuZWmwZqXsWWzAmFmyjxwF7wZktp/6nYvVKc2tUIkUxbXavchdtA4SvY7Yt5GJMHhajOotXgg47F2usYAk=
> SpamDiagnosticOutput: 1:99
> SpamDiagnosticMetadata: NSPM
> X-OriginatorOrg: maynoothuniversity.onmicrosoft.com
> X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2016 21:42:30.6350 (UTC)
> X-MS-Exchange-CrossTenant-Id: 1454f5cc-bb35-4685-bbd9-8621fd8055c9
> X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
> X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0201MB1497
> X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 193.1.219.120
> X-MS-Exchange-CrossPremises-AuthSource: DB3FFO11FD001.protection.gbl
> X-MS-Exchange-CrossPremises-AuthAs: Anonymous
> X-MS-Exchange-CrossPremises-AVStamp-Service: 1.0
> X-MS-Exchange-CrossPremises-SCL: 1
> X-MS-Exchange-CrossPremises-Antispam-ScanContext:    DIR:Incoming;SFV:NSPM;SKIP:0;
> X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent
> X-OrganizationHeadersPreserved: HE1PR0201MB1497.eurprd02.prod.outlook.com
> 
> My named GEN can't function with rescaling. I've seen that fareygen is
> similar and so it does "ff->e.p[4] = -1;" If I do that, can Rory
> retrieve the string used to call the named GEN inside the .csd somehow
> and not the -1?
> 
>> On 18/06/16 18:33, Victor Lazzarini wrote:
>> No, with named GENs there is no way to implicitly turnoff rescaling. GENs need to use an extra parameter for that.
>> 
>> Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy
>> Maynooth University
>> Ireland
>> 
>>> On 18 Jun 2016, at 22:22, Guillermo Senna  wrote:
>>> 
>>> X-Microsoft-Antispam:
>>>   UriScan:;BCL:0;PCL:0;RULEID:(421252002)(3010002)(71701004)(71702002);SRVR:AM4PR0201MB1922;
>>> X-Microsoft-Exchange-Diagnostics:
>>>   1;AM4PR0201MB1922;20:NENF56pfoWPa6vx2yWCA5SNs/s3/f2LXYj3pnmXCz1PDYoIfbhhhc6izJd4xclLv8c7/UuPcOfKtsapXh4mHzX5SrCPbjAmZkDB0laH5TX10ya2eBewCD1Oys2stgowm9eLtuvIIXKyMTLO1B5WwuB+9X3/K09eaIULSHyL59TZwz4A07/nEYdvGJMR6e8YA0WTgVDt0nLJmkMLmTMszWdwNa2AtXQy5L8CEd5C2DImHGKwGmA524zhlcGNGHLmW;4:QQlsprzVVgTH2CfzVO6BFSJ4KLGH6CFwJ/jEiGU85h3Vhp8/XW0e9EPTAaQodSAZzkY6tOCnnbEF9fEvC51u/zGgu3PZNOx8j/GareQdBv2/zqD97zrUnRNSACpz3mJEBDVBDNZhKmtAyDauXY6KAdylziP9wFi9lvQd2ORw4rBDKbYBYXU6/oYMq/FxvsHEaZUi69D5Ei98NK9f2+47ZAs2w4XowHhCe0O/+FSxRJ9y6iyPSr6EGbwWBT4lXAXhHNtvLAmneEm8Ik5uZyO7gIrEn33atNgZlxzAmiu0DobXZEUvG+kP3HeGww42gMzRE5Y1Xlazk72cNHAyCGTWMDAI5x7wEltXudrUwjwIZvgL9MHoZc9GkTJmQ3Xvadv46wdsjPWcvkT2n4CuIz/KGVeuxq7OfaISueYMqB+T5GgD8/62XS0XzGr9MZJlVnr0+gcqAefJEo8yd3Uj0+0+EC7Z3aDaK3uPqQqGc5ZYWtiFG4QoD3hDV+H/oiBFaZATYIQVCWQaBWcZlW+rIjbeDA==
>>> X-Exchange-Antispam-Report-Test:
>>>   UriScan:(20558992708506)(166708455590820)(17755550239193);
>>> X-Exchange-Antispam-Report-CFA-Test:
>>>   BCL:0;PCL:0;RULEID:(9101531078)(601004)(2401047)(8121501046)(13016025)(13018025)(3002001)(10201501046);SRVR:AM4PR0201MB1922;BCL:0;PCL:0;RULEID:;SRVR:AM4PR0201MB1922;
>>> X-Microsoft-Exchange-Diagnostics:
>>>   =?utf-8?B?MTtBTTRQUjAyMDFNQjE5MjI7MjM6MHFCK2Vlbk1YQkVRbnMyUnJEQmdMWUo0?=
>>> =?utf-8?B?d3VBMHVPSG1IZ1VuUlhxMWQyM2NZMDMrOHpCV2UrMkplbmlYZWlvSEZDVWRy?=
>>> =?utf-8?B?YlU1Z2J6U3JONmVKMnRNa3JqdlczVDBibWtiRkw2Q25KT3RqRXltYVVGMDRy?=
>>> =?utf-8?B?N0ZnMEJlN3JYRWVlRktMTVRVWnZzc0d1Wm1Xc25md0tQRWRhUEs1alduWTE3?=
>>> =?utf-8?B?ZGVheGVvMVBCTk1hNzZiQ0NpMGVnOHErMzV0MElXOEkxZXBNM2ZrYWJReHR1?=
>>> =?utf-8?B?SEpjczFFL1gvOUtmc1RISmQyMWsvaGUrR0MwMGFUdENmMW15Mlg4OGg2NUdD?=
>>> =?utf-8?B?NWRFM0NvWmsrWjR0cTZicGRHTFRMMXhCNk1URDZOYVlPTGJpbHZjSDhmOXhY?=
>>> =?utf-8?B?UlFMck1KN1RkOEVQUE42U3ErU0JyeTJsaStXOHB1cGszTUF0bWlTVGExOEp6?=
>>> =?utf-8?B?cFVaWXBpcndteGVmSENralI5N25ZKzVvSHloS1pCUzV4T05EZ01COWwzemda?=
>>> =?utf-8?B?Q2N4dTBpd1F6WTJhcktBeDgxNjdNTldneVZ4cktQb0V1U0JRUGJhRnVvRmtW?=
>>> =?utf-8?B?UnFWeDBUTmNjVm1vcndmZ244d2dGSmJKa20zSjZScGk1eS9NZ0gvTWdNeFQz?=
>>> =?utf-8?B?OEpuOGs5UHN4R1NhVU0xMjZqYVZuYnVzRGdFN2RLWFQ1clVSLzFQZ1lydFlr?=
>>> =?utf-8?B?R3owTXljWE1sZUtlck9ZZVVrNDJocWFoYkJwTmNSczc0cmVVVUpFT2N2Mmh0?=
>>> =?utf-8?B?R2VJSGJUQTRxRXlwTU5oMEd6Zm5tRUkvQUEreWNVaXlxazFPUVc1S3FRa2ZM?=
>>> =?utf-8?B?WGZMbVBsZHdNQ241clpySmRDODNXMmh6Rnplc2lpUmhIVHJtdW9vakNUNUFO?=
>>> =?utf-8?B?TXRkcDJ0SzNyR1h0bE8wMTFNUXJhL2d4ekNrVUxRc096ZWJtWTQrSVc4endz?=
>>> =?utf-8?B?M3BGbC80N3RsNlg2TEE1QTIyWmJCd1dsWmtWOGczMEM0c2ZiTFcxOXNUNkR3?=
>>> =?utf-8?B?RlR0WFR6SzJMeU1JOHZuQi95YklHMXRQTlE3YWZkTnU4UlUvbnNHL3hsdC8x?=
>>> =?utf-8?B?MlUzZ3ZVd2R2d0djdTc1M2VYMGZCWVM5ZEtBeXZWMTlJbnQwdythejVFdm9i?=
>>> =?utf-8?B?U2gxOGZsVGJ3TnpOQ2tUdXdqVjNoY1RjQlRURWhNV1QwcDc3QTFHbFZyemlO?=
>>> =?utf-8?B?Yk54Wm1wRnloWGw1ME5VdVRWcW85c2VLeW52MXdqTTRmS0FRQXRvSVZ4cENp?=
>>> =?utf-8?B?T1g0cDNUNDJxeVFSQ3IxLzB5aVp3QW45REJSWVhobVBaWXNhaitPdDhmVXdW?=
>>> =?utf-8?B?cXpHNzRkRWZEbWMxK1BGOWE4RTZKakhKMEJnb3V6andidU0rcDBBRldVVXV6?=
>>> =?utf-8?B?NmhJQ1dnS201a3Zicll4RWovN2N6N2dzaUdwaDMyTTQ1QlMxYUFCS0JLdFMv?=
>>> =?utf-8?B?ZDAzT1pzRURHL3VBdWl2U0NXVkxlZmQ1WERWeVpmMTVxS3hJVXNzdXhHS1A5?=
>>> =?utf-8?B?MmRNU0FMcEhrTTlKS2VsVjB5b3BzcUl1MmdKV1dLNEVBeHQwbXM4dGJzZjZj?=
>>> =?utf-8?B?YTE0UXNHWEVoWUVlZ095Z3ozTGR5d2NEMk5WREhxQXFsQ3YzWllKUlp5NHBr?=
>>> =?utf-8?B?MlJQaDdFNUhCb3hoUG5VRFUva1huU0xIQ0ozSmU2bXo1WGcxTkY0dWdXbHdQ?=
>>> =?utf-8?B?aU1PZjlSNklHd1Roanh1S0JJOENmRFRtcUpiSEFUWE5ycmsyWElaWFMrMlNK?=
>>> =?utf-8?B?OW9UVTg2bXNjam45YnBTYWJSUW8xNmpUUVJrblVnRFRWbUFEdmc0aFc5K0tv?=
>>> =?utf-8?B?V0JVOUVtbFFiWUozSU1oemdoMWJPUVRqQlRmMnI1THc0Ukk2OGVFWitnZHFm?=
>>> =?utf-8?B?YktBU1hOVVpEZmQ4clZXR2p2ajQ3RHR6aTROTzlnMHRzblB2WDkrY2FHVDF1?=
>>> =?utf-8?B?MXNJWmxEcWtreGg2QUpsbjJnSTFZYjR3bnpIcWQ4T3F5RHorSjlTVFdnV0ds?=
>>> =?utf-8?B?MnBSUDlGN3Q0UituZGc5bzBtZEhNN29keTRJc3BXVmUvVE10ZHRkaVE1Y3Zx?=
>>> =?utf-8?B?djVpNC95WnpXcmZvcE5CQVpVZS93QWpCWUcwWVZxdnBoYTNqd290ZGhlNGtU?=
>>> =?utf-8?B?SlQ5NUE1eENhNlNiWTZGZy83TUtpRnNERTJEdkl4M29Lbk9QODFtcUxoNXh6?=
>>> =?utf-8?B?Z3ZYcE16Q0Y4dUpCL2dlZGJwR1FITFozMGhZSHpzWU5lM3NIc1pYODluY0w0?=
>>> =?utf-8?B?R3BtcUMxZlR2NTN2b0h4WnZHRHBiSWxRVStaY2JjVWlXaXdHMTErTWdBPT0=?=
>>> X-Microsoft-Exchange-Diagnostics:
>>>   1;AM4PR0201MB1922;6:MMDtK++esAyXQhPQ03ke+YuqnIMlF4GJ2E5nxwZ86Jl6fPHC5/KU+NDf5dSHtP91yJe0jNvCLArfs8hjoo8Z2SnzcY1n1npRwxDRzHIcgNxszjCXuNKRXq33Q6sqKdzSCZyo+nId3w3t+gvFQK0d7+cLHL1k56YaxJNcH+0uNwt5f95qFh0SosiyNmkoXftmFrR1UXpXBtWBB2lhVKQWzTfKVYoovYPFaaj4e1Fl7ZF5ZjfXaCBpafpRNO5EwxquULVNRcEN9LfUe09L0Qk+Ky5FlvKcCE7yP8yJFw2j3PwaM3Q8Bec/NJzDs4XN203K;5:3RUcpE420urmkuCmDhhZZkofbEH3Y5370JIaCPTnTv2BDxH7J57glAENlPOvzGbH2x2THr63OnQLdODg3t+4wGKFDkLQm7LCWjRSHjB71RfsFCRhpzYF9m4B1fIq0VTlgqM957ZtUZyPvDgnoRkokg==;24:Et70dCok0lft2eFT0IpZwAdzGc5pDcYam3NYZ1xUH9yXc19bNhG3O3IEhhC0BxAHai48oMdohszo6KEwnBOIAduQ3N5h+tBuuKbtgb+zD4o=;7:URSz7Mf/RV2o1oUGaLGrQQ7PmbWVkRE6JcNnRU2t0n3wSvUM98VuSP07RjfwllM3CnDNMgBFUU/aDtsXAT5ZE/33qVoaHZXTrAytDrzSPqDpev3vvbAdmkdka3KgSzdXCyxKdov5sxKmUJcFf4Ebpz49DCxltci5CKi9kGFnquNEfR4aziXPt68wrUavpGzqFEL5mS9wSu35pGFpSdT4eYmxr3hql4nqfpTM6Hii2LA=
>>> SpamDiagnosticOutput: 1:99
>>> SpamDiagnosticMetadata: NSPM
>>> X-OriginatorOrg: maynoothuniversity.onmicrosoft.com
>>> X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2016 21:22:24.5478 (UTC)
>>> X-MS-Exchange-CrossTenant-Id: 1454f5cc-bb35-4685-bbd9-8621fd8055c9
>>> X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
>>> X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0201MB1922
>>> X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 193.1.219.120
>>> X-MS-Exchange-CrossPremises-AuthSource: DB3FFO11OLC004.protection.gbl
>>> X-MS-Exchange-CrossPremises-AuthAs: Anonymous
>>> X-MS-Exchange-CrossPremises-AVStamp-Service: 1.0
>>> X-MS-Exchange-CrossPremises-SCL: 1
>>> X-MS-Exchange-CrossPremises-Antispam-ScanContext:    DIR:Incoming;SFV:NSPM;SKIP:0;
>>> X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent
>>> X-OrganizationHeadersPreserved: AM4PR0201MB1922.eurprd02.prod.outlook.com
>>> 
>>> Hi Victor,
>>> 
>>> So what you're saying is that I should reset p4 to -1 in my plugin to
>>> avoid rescaling and then (after that function you mention is made
>>> available) Rory can still retrieve the original string used inside the
>>> =2Ecsd as the p4 argument. Is that correct?
>>> 
>>>> On 18/06/16 18:01, Victor Lazzarini wrote:
>>>> Inside Csound, we would check for a NaN, and there is function to do th=
>>> is. I am not quite sure whether p4 would still be a NaN by the time you a=
>>> ccess the struct via the API. If that is the case, we just need to export=
>>> the function that checks for it.
>>>> Victor Lazzarini
>>>> Dean of Arts, Celtic Studies, and Philosophy
>>>> Maynooth University
>>>> Ireland
>>>> 
>>>>> On 18 Jun 2016, at 09:25, Rory Walsh  wrote:
>>>>> 
>>>>> I need to check if I'm working with a named gen routine, or a regular =
>>> one. I have something like this:
>>>>>       MYFLT* argsPtr;
>>>>>       csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>>> 
>>>>> What's the best way to check if argsPtr[0] is a string?=20
>>>>> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.=
>>> ie/cgi-bin/wa?A0=3DCSOUND Send bugs reports to https://github.com/csound/=
>>> csound/issues Discussions of bugs and features can be posted here
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=3DCSOUND
>>>> Send bugs reports to
>>>>       https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=3DCSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>        https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-18 22:57
FromGuillermo Senna
SubjectRe: csoundGetTableArgs() question...
Of course, Victor. Whenever you have a spare moment. Thank you very much
for replying! Cheers.

On 18/06/16 18:54, Victor Lazzarini wrote:
> Not sure. I'd need to look at the Csound code to check (not at the computer now).
>
> Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy
> Maynooth University
> Ireland
>
>> On 18 Jun 2016, at 22:42, Guillermo Senna  wrote:
>>
>> =
>> X-Microsoft-Antispam:
>>    UriScan:;BCL:0;PCL:0;RULEID:(421252002)(3010002)(71701004)(71702002);SRVR:HE1PR0201MB1497;
>> X-Microsoft-Exchange-Diagnostics:
>>    1;HE1PR0201MB1497;20:zIgTnhb5gaHAdat1R533+Bm0ixRmS4EPEv8VA2cLVwD3XV1VK6Sh6e4dtccEvPan8rqEUGMtyD2ajkXZJ3nR/N67lip6R0NZCxyJ5o+RHVrTYExisQb+7WvdU3iO4TBVpizd4RCXtU7f3UsuhKaDpM1kSNQNc4u6TDhNG+a4CNmHFsoOlka2s9rJ+zsunjfGMOOeExtNWSnIPLk+10RXrz8D2osm+8fCnjyh08gRqqm+Vab7x/T2Frjpg7gskkIf;4:W5XDbhFIBnvShQb7Vu3QOj5UYSjkC+zHaYRFDhGv2L+SJ45Dqz4Egg8yUYpyfUrxuBobhaXDxMYwFC+gLfMiR/aOw8p8N3t8XkSlXqwf/sHigxiNy9+98Fz7Oky8xfunS/Sa//6Ctikh7W11r8NYC1Xzv57SDMNRgpHoHr75e7iMKwde82lrqVd6qr13G27roPWUbnoJMC15Ea34cp77BBiD2cWSJ7VDi+C4ldxUYYxNAvktPZZiaWbeTtNcH5GIihwQUDjbEqyjhh1tKnZpzaaEQrTJS0CHQhgOUwO1t23pz2mgChc6Ky+XMvAoy0U6ezjKxbqqx57J4YDJfTP9IlvmcqxVT+ldpEn/ZGjH0lO/zQSGEkw71gM08g2iC6QbLweI9jtwwviUkCO140cZXrEypkXidxn9NGRH49fZ1tQGYGt3583CX8UrMT2Z9uQvD+zjo6dLsgUaqb75WF82etaj/aSMv+V3YB/uXylKoY1ngS4uWoZHLGwpYtcOl9GdM3HO7b0Js7CwUB0NVQ04Wn4vvSp5nqF9u8tmFFkzNDieb8urKV2CS9kg5K/VSSlF8KP5MnfbLL8R5S5nFiO5dCswT1WFUwRz3n97R5BFfdoQs9B2+U9/iAegkklOAkNR224BLPj49xmPGOGqXlx3+Qvdx0OWkL33Ddtu1MCdZuAtfG94LCmNys6LSdIhqLZa
>> X-Exchange-Antispam-Report-Test:
>>    UriScan:(20558992708506)(166708455590820)(55684623447791)(189930954265078)(243139608849269)(142120096219846)(48713779882656)(17755550239193);
>> X-Exchange-Antispam-Report-CFA-Test:
>>    BCL:0;PCL:0;RULEID:(9101531078)(601004)(2401047)(13016025)(8121501046)(13018025)(3002001)(10201501046);SRVR:HE1PR0201MB1497;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0201MB1497;
>> X-Microsoft-Exchange-Diagnostics:
>>    =?Windows-1252?Q?1;HE1PR0201MB1497;23:+9K0Hb3H20SNlYx0cpfF8oBmewPgvVbAleo?=
>> =?Windows-1252?Q?47BFPod4er0izqWGabXBfnzo9J7nKR0rsVVcpV/dvvpcxte6STQdWG8H?=
>> =?Windows-1252?Q?WUXEJaQgHpnOmOg5OeaJC9TugGNThkoVagZuZc+W9zmo0KA3bqnpwB1w?=
>> =?Windows-1252?Q?1a4w7KtzwMGhdp6peYmhZMmjG9fKU6QVCIIBt/Bddg8tk3WtL34q2gPb?=
>> =?Windows-1252?Q?UnfwmoED5kdKMfigrcY1O+GbQoP9uV97lws00n0UNYUIEeChbvZd5wDe?=
>> =?Windows-1252?Q?FUCIXJfOeNSOL/y/iTvJ5gKBc8WBYnVKA3Cu9VUKoUTdHL8sp2W0RDcO?=
>> =?Windows-1252?Q?riR7EBDWUvrGV4IVbVjCyHbmU066QKj9A1EFLnAzZz5te4lrwFL84vT5?=
>> =?Windows-1252?Q?pbBOVIVNtVpRL1GcY0z4Qf6VgZxS9SB4pztp8gglzz5js86KTjI2L0QM?=
>> =?Windows-1252?Q?MF/vAErm/Tj7OgjLkyT/YxLkcIs4pwA0Rj7jMTMsaxqUHVt9D4Q+FxJr?=
>> =?Windows-1252?Q?rkbNQFWOvfSwd4NSSaWW9WT3Iyya6AFRXkjnoVj5EXgUW5WxlnbxK9+9?=
>> =?Windows-1252?Q?L/gTcvpoZ/tofL4pYZELzY1qE3A2SzE9dLAT/l9kKyj6u8H+2nU9Ck+I?=
>> =?Windows-1252?Q?ORoxoHwThKP+eUSnBEQmFE2/hBLecnkOJh13HEMsT6y6TLjy5ajGkO7g?=
>> =?Windows-1252?Q?P5M9kkYUSzzhc27gm4JZTzM3TMFZtHoeye+igsUSQo6gHPKf662+e2di?=
>> =?Windows-1252?Q?zUTfpo21SWHqEjhGPUBOdApdg7n4MN+zKeWwxWDibe4xY6832LyZlp3H?=
>> =?Windows-1252?Q?xjOAeGdHlCqCufYPsVwMNC/zxwhFMWOBbvj3BYtdK1O5jAVONV+F2pbB?=
>> =?Windows-1252?Q?qXD2jj0CV3M3DTY+5Fq5yuZUUTFGa9i4fpsnI85GeGtgIwU0LXG+CaSD?=
>> =?Windows-1252?Q?KU9rBWIo8cD1XRc57JzFz/j6G7hMMclCz0CB5S6xCSLtOrZjOQKjajvl?=
>> =?Windows-1252?Q?NjPPGTc4YkB0trSPInks5IfxI4D9awGx+9KLCooHp3lANofP8DW6Vyxc?=
>> =?Windows-1252?Q?YMESc+7ZraqjtIXl2d4AaeR/O+J0ZF2pU+tNnstVCEw2gjj07WCdmDmC?=
>> =?Windows-1252?Q?/qoSkZ2LqwbLrsmGftO/BOvDiiQyAEhGv80/Ci3qFEYOdy6NPt74pQDg?=
>> =?Windows-1252?Q?tk/EL1g2DrjZ2wPpGavupm2HpErx78rwSKp7zfa8eVGygl8OY7tNUub1?=
>> =?Windows-1252?Q?Q1WhhXPOT5Nz6tXrM+42DOsbJKn9VgxTkVONF+uRVXIH8uxWgsdc8qrM?=
>> =?Windows-1252?Q?2mJRriNMYhwIpSf9sJU1FlHSxC4nvJdsMCZK8YlcWeOwOK/ZZbW/YkCo?=
>> =?Windows-1252?Q?SKIYtubBc+c0jq8YLvX14tCkiMtdM6zMrxHFlUsw+jnX9iEPE9uZC86A?=
>> =?Windows-1252?Q?QMvNyDgFuihPorkYVnTtixIXM+ogmez+oLpj5txFFW/bWTX0aezHt0d6?=
>> =?Windows-1252?Q?NCLQhUIAlero0efWfys6JI+WxEEYcuJqfx/HnqnbEgGxXBiF9fDoTPXX?=
>> =?Windows-1252?Q?IrFLgC1FiDy20TeLm3gxSbic2GidTzumTvlngZ/yZCPIRpH9yJ7/mR4N?=
>> =?Windows-1252?Q?eqBYIzYi/wvPAM0HeqdiqDgevJM7AV69WASPBOUL+llUpERg7S1jb0mH?=
>> =?Windows-1252?Q?iVp1PjouPCHM8/jBXt3aSDR5fPTx/nyhmVTQD129EBdx8sOvWDU0Vk6x?=
>> =?Windows-1252?Q?AVnioFXMYpG5FJC+kVfsL2a/EMG6iZTkL+aXol7DumzWZDRnHQxZavFM?=
>> =?Windows-1252?Q?sMm+XdXTwcISqKmt8PVuADAqJ88pho9nXnnPWuGy4v8NITEaLrn4DhiS?=
>> =?Windows-1252?Q?Sl5rFQ+esznQmAMHiW2wMatO51OEFhZGIDA=3D=3D?=
>> X-Microsoft-Exchange-Diagnostics:
>>    1;HE1PR0201MB1497;6:F2jXfwPwZpIOE92YJfdA0lHnlDDLZw74CdJYpJP8nOJ4xn4bGt2VFI1um7D8b3DwuBV43bJQAIujKcpSsfoZq7X4cTSRVsQ7Dq70uczpenGIhQgxIa6x4uoV0iGkGZwrzi3LIxLLo1X1ayGNpczWlUXds32RrFgEm/pvU7X1By24xJWGREmPyTeTE/E1EScCrVIu0llGB00ELkxydQr9trJXVYFdVcQA+AeagE7/wLJmGKTGWnMI3mnqNwuthHy0BpSOOt1p4h3r66WNdmZknGRfE7wLLcya0o29SKYRVeaoib8al5Yi1Bcvv6lRE3XH;5:UFrul0A2abFPHE7vCPKhaT34/7Rhej3pN9kzZD0OZ/qAJ1a3uyQIkyp/7LI42xPXKcLA47pJgcz8My+o7DeehCaME3MoTsU85o8YsmAT0/mCYP39S2nw8HojdpcNzDb+kvMLTp7JbQp7lWQ+iBKOnA==;24:KOtMkdFymww6Bvnbs1sXzb/bxPNIOwYbcZAJf2KJo91ME3an1zb0fyVqJQdSF8o3AKxO3Y/FQEr6dzCOo9f1vtLzt80+mLW9ebe7LURWauc=;7:z53f0V20HxVWDdDoD6IXViiS15xa0L12AJxWOoq5TV60oB+I5dQyCl+umbguYtv4MmrgQ1gpVbyZOcRVdGRXyOHHDeISWFcNfJjSWoSQE6tCUFjS2OZ/JaYW2b7ErrErcDvoR8eedN6FvxiSl7VU4IFcTkuZWmwZqXsWWzAmFmyjxwF7wZktp/6nYvVKc2tUIkUxbXavchdtA4SvY7Yt5GJMHhajOotXgg47F2usYAk=
>> SpamDiagnosticOutput: 1:99
>> SpamDiagnosticMetadata: NSPM
>> X-OriginatorOrg: maynoothuniversity.onmicrosoft.com
>> X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2016 21:42:30.6350 (UTC)
>> X-MS-Exchange-CrossTenant-Id: 1454f5cc-bb35-4685-bbd9-8621fd8055c9
>> X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
>> X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0201MB1497
>> X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 193.1.219.120
>> X-MS-Exchange-CrossPremises-AuthSource: DB3FFO11FD001.protection.gbl
>> X-MS-Exchange-CrossPremises-AuthAs: Anonymous
>> X-MS-Exchange-CrossPremises-AVStamp-Service: 1.0
>> X-MS-Exchange-CrossPremises-SCL: 1
>> X-MS-Exchange-CrossPremises-Antispam-ScanContext:    DIR:Incoming;SFV:NSPM;SKIP:0;
>> X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent
>> X-OrganizationHeadersPreserved: HE1PR0201MB1497.eurprd02.prod.outlook.com
>>
>> My named GEN can't function with rescaling. I've seen that fareygen is
>> similar and so it does "ff->e.p[4] = -1;" If I do that, can Rory
>> retrieve the string used to call the named GEN inside the .csd somehow
>> and not the -1?
>>
>>> On 18/06/16 18:33, Victor Lazzarini wrote:
>>> No, with named GENs there is no way to implicitly turnoff rescaling. GENs need to use an extra parameter for that.
>>>
>>> Victor Lazzarini
>>> Dean of Arts, Celtic Studies, and Philosophy
>>> Maynooth University
>>> Ireland
>>>
>>>> On 18 Jun 2016, at 22:22, Guillermo Senna  wrote:
>>>>
>>>> X-Microsoft-Antispam:
>>>>   UriScan:;BCL:0;PCL:0;RULEID:(421252002)(3010002)(71701004)(71702002);SRVR:AM4PR0201MB1922;
>>>> X-Microsoft-Exchange-Diagnostics:
>>>>   1;AM4PR0201MB1922;20:NENF56pfoWPa6vx2yWCA5SNs/s3/f2LXYj3pnmXCz1PDYoIfbhhhc6izJd4xclLv8c7/UuPcOfKtsapXh4mHzX5SrCPbjAmZkDB0laH5TX10ya2eBewCD1Oys2stgowm9eLtuvIIXKyMTLO1B5WwuB+9X3/K09eaIULSHyL59TZwz4A07/nEYdvGJMR6e8YA0WTgVDt0nLJmkMLmTMszWdwNa2AtXQy5L8CEd5C2DImHGKwGmA524zhlcGNGHLmW;4:QQlsprzVVgTH2CfzVO6BFSJ4KLGH6CFwJ/jEiGU85h3Vhp8/XW0e9EPTAaQodSAZzkY6tOCnnbEF9fEvC51u/zGgu3PZNOx8j/GareQdBv2/zqD97zrUnRNSACpz3mJEBDVBDNZhKmtAyDauXY6KAdylziP9wFi9lvQd2ORw4rBDKbYBYXU6/oYMq/FxvsHEaZUi69D5Ei98NK9f2+47ZAs2w4XowHhCe0O/+FSxRJ9y6iyPSr6EGbwWBT4lXAXhHNtvLAmneEm8Ik5uZyO7gIrEn33atNgZlxzAmiu0DobXZEUvG+kP3HeGww42gMzRE5Y1Xlazk72cNHAyCGTWMDAI5x7wEltXudrUwjwIZvgL9MHoZc9GkTJmQ3Xvadv46wdsjPWcvkT2n4CuIz/KGVeuxq7OfaISueYMqB+T5GgD8/62XS0XzGr9MZJlVnr0+gcqAefJEo8yd3Uj0+0+EC7Z3aDaK3uPqQqGc5ZYWtiFG4QoD3hDV+H/oiBFaZATYIQVCWQaBWcZlW+rIjbeDA==
>>>> X-Exchange-Antispam-Report-Test:
>>>>   UriScan:(20558992708506)(166708455590820)(17755550239193);
>>>> X-Exchange-Antispam-Report-CFA-Test:
>>>>   BCL:0;PCL:0;RULEID:(9101531078)(601004)(2401047)(8121501046)(13016025)(13018025)(3002001)(10201501046);SRVR:AM4PR0201MB1922;BCL:0;PCL:0;RULEID:;SRVR:AM4PR0201MB1922;
>>>> X-Microsoft-Exchange-Diagnostics:
>>>>   =?utf-8?B?MTtBTTRQUjAyMDFNQjE5MjI7MjM6MHFCK2Vlbk1YQkVRbnMyUnJEQmdMWUo0?=
>>>> =?utf-8?B?d3VBMHVPSG1IZ1VuUlhxMWQyM2NZMDMrOHpCV2UrMkplbmlYZWlvSEZDVWRy?=
>>>> =?utf-8?B?YlU1Z2J6U3JONmVKMnRNa3JqdlczVDBibWtiRkw2Q25KT3RqRXltYVVGMDRy?=
>>>> =?utf-8?B?N0ZnMEJlN3JYRWVlRktMTVRVWnZzc0d1Wm1Xc25md0tQRWRhUEs1alduWTE3?=
>>>> =?utf-8?B?ZGVheGVvMVBCTk1hNzZiQ0NpMGVnOHErMzV0MElXOEkxZXBNM2ZrYWJReHR1?=
>>>> =?utf-8?B?SEpjczFFL1gvOUtmc1RISmQyMWsvaGUrR0MwMGFUdENmMW15Mlg4OGg2NUdD?=
>>>> =?utf-8?B?NWRFM0NvWmsrWjR0cTZicGRHTFRMMXhCNk1URDZOYVlPTGJpbHZjSDhmOXhY?=
>>>> =?utf-8?B?UlFMck1KN1RkOEVQUE42U3ErU0JyeTJsaStXOHB1cGszTUF0bWlTVGExOEp6?=
>>>> =?utf-8?B?cFVaWXBpcndteGVmSENralI5N25ZKzVvSHloS1pCUzV4T05EZ01COWwzemda?=
>>>> =?utf-8?B?Q2N4dTBpd1F6WTJhcktBeDgxNjdNTldneVZ4cktQb0V1U0JRUGJhRnVvRmtW?=
>>>> =?utf-8?B?UnFWeDBUTmNjVm1vcndmZ244d2dGSmJKa20zSjZScGk1eS9NZ0gvTWdNeFQz?=
>>>> =?utf-8?B?OEpuOGs5UHN4R1NhVU0xMjZqYVZuYnVzRGdFN2RLWFQ1clVSLzFQZ1lydFlr?=
>>>> =?utf-8?B?R3owTXljWE1sZUtlck9ZZVVrNDJocWFoYkJwTmNSczc0cmVVVUpFT2N2Mmh0?=
>>>> =?utf-8?B?R2VJSGJUQTRxRXlwTU5oMEd6Zm5tRUkvQUEreWNVaXlxazFPUVc1S3FRa2ZM?=
>>>> =?utf-8?B?WGZMbVBsZHdNQ241clpySmRDODNXMmh6Rnplc2lpUmhIVHJtdW9vakNUNUFO?=
>>>> =?utf-8?B?TXRkcDJ0SzNyR1h0bE8wMTFNUXJhL2d4ekNrVUxRc096ZWJtWTQrSVc4endz?=
>>>> =?utf-8?B?M3BGbC80N3RsNlg2TEE1QTIyWmJCd1dsWmtWOGczMEM0c2ZiTFcxOXNUNkR3?=
>>>> =?utf-8?B?RlR0WFR6SzJMeU1JOHZuQi95YklHMXRQTlE3YWZkTnU4UlUvbnNHL3hsdC8x?=
>>>> =?utf-8?B?MlUzZ3ZVd2R2d0djdTc1M2VYMGZCWVM5ZEtBeXZWMTlJbnQwdythejVFdm9i?=
>>>> =?utf-8?B?U2gxOGZsVGJ3TnpOQ2tUdXdqVjNoY1RjQlRURWhNV1QwcDc3QTFHbFZyemlO?=
>>>> =?utf-8?B?Yk54Wm1wRnloWGw1ME5VdVRWcW85c2VLeW52MXdqTTRmS0FRQXRvSVZ4cENp?=
>>>> =?utf-8?B?T1g0cDNUNDJxeVFSQ3IxLzB5aVp3QW45REJSWVhobVBaWXNhaitPdDhmVXdW?=
>>>> =?utf-8?B?cXpHNzRkRWZEbWMxK1BGOWE4RTZKakhKMEJnb3V6andidU0rcDBBRldVVXV6?=
>>>> =?utf-8?B?NmhJQ1dnS201a3Zicll4RWovN2N6N2dzaUdwaDMyTTQ1QlMxYUFCS0JLdFMv?=
>>>> =?utf-8?B?ZDAzT1pzRURHL3VBdWl2U0NXVkxlZmQ1WERWeVpmMTVxS3hJVXNzdXhHS1A5?=
>>>> =?utf-8?B?MmRNU0FMcEhrTTlKS2VsVjB5b3BzcUl1MmdKV1dLNEVBeHQwbXM4dGJzZjZj?=
>>>> =?utf-8?B?YTE0UXNHWEVoWUVlZ095Z3ozTGR5d2NEMk5WREhxQXFsQ3YzWllKUlp5NHBr?=
>>>> =?utf-8?B?MlJQaDdFNUhCb3hoUG5VRFUva1huU0xIQ0ozSmU2bXo1WGcxTkY0dWdXbHdQ?=
>>>> =?utf-8?B?aU1PZjlSNklHd1Roanh1S0JJOENmRFRtcUpiSEFUWE5ycmsyWElaWFMrMlNK?=
>>>> =?utf-8?B?OW9UVTg2bXNjam45YnBTYWJSUW8xNmpUUVJrblVnRFRWbUFEdmc0aFc5K0tv?=
>>>> =?utf-8?B?V0JVOUVtbFFiWUozSU1oemdoMWJPUVRqQlRmMnI1THc0Ukk2OGVFWitnZHFm?=
>>>> =?utf-8?B?YktBU1hOVVpEZmQ4clZXR2p2ajQ3RHR6aTROTzlnMHRzblB2WDkrY2FHVDF1?=
>>>> =?utf-8?B?MXNJWmxEcWtreGg2QUpsbjJnSTFZYjR3bnpIcWQ4T3F5RHorSjlTVFdnV0ds?=
>>>> =?utf-8?B?MnBSUDlGN3Q0UituZGc5bzBtZEhNN29keTRJc3BXVmUvVE10ZHRkaVE1Y3Zx?=
>>>> =?utf-8?B?djVpNC95WnpXcmZvcE5CQVpVZS93QWpCWUcwWVZxdnBoYTNqd290ZGhlNGtU?=
>>>> =?utf-8?B?SlQ5NUE1eENhNlNiWTZGZy83TUtpRnNERTJEdkl4M29Lbk9QODFtcUxoNXh6?=
>>>> =?utf-8?B?Z3ZYcE16Q0Y4dUpCL2dlZGJwR1FITFozMGhZSHpzWU5lM3NIc1pYODluY0w0?=
>>>> =?utf-8?B?R3BtcUMxZlR2NTN2b0h4WnZHRHBiSWxRVStaY2JjVWlXaXdHMTErTWdBPT0=?=
>>>> X-Microsoft-Exchange-Diagnostics:
>>>>   1;AM4PR0201MB1922;6:MMDtK++esAyXQhPQ03ke+YuqnIMlF4GJ2E5nxwZ86Jl6fPHC5/KU+NDf5dSHtP91yJe0jNvCLArfs8hjoo8Z2SnzcY1n1npRwxDRzHIcgNxszjCXuNKRXq33Q6sqKdzSCZyo+nId3w3t+gvFQK0d7+cLHL1k56YaxJNcH+0uNwt5f95qFh0SosiyNmkoXftmFrR1UXpXBtWBB2lhVKQWzTfKVYoovYPFaaj4e1Fl7ZF5ZjfXaCBpafpRNO5EwxquULVNRcEN9LfUe09L0Qk+Ky5FlvKcCE7yP8yJFw2j3PwaM3Q8Bec/NJzDs4XN203K;5:3RUcpE420urmkuCmDhhZZkofbEH3Y5370JIaCPTnTv2BDxH7J57glAENlPOvzGbH2x2THr63OnQLdODg3t+4wGKFDkLQm7LCWjRSHjB71RfsFCRhpzYF9m4B1fIq0VTlgqM957ZtUZyPvDgnoRkokg==;24:Et70dCok0lft2eFT0IpZwAdzGc5pDcYam3NYZ1xUH9yXc19bNhG3O3IEhhC0BxAHai48oMdohszo6KEwnBOIAduQ3N5h+tBuuKbtgb+zD4o=;7:URSz7Mf/RV2o1oUGaLGrQQ7PmbWVkRE6JcNnRU2t0n3wSvUM98VuSP07RjfwllM3CnDNMgBFUU/aDtsXAT5ZE/33qVoaHZXTrAytDrzSPqDpev3vvbAdmkdka3KgSzdXCyxKdov5sxKmUJcFf4Ebpz49DCxltci5CKi9kGFnquNEfR4aziXPt68wrUavpGzqFEL5mS9wSu35pGFpSdT4eYmxr3hql4nqfpTM6Hii2LA=
>>>> SpamDiagnosticOutput: 1:99
>>>> SpamDiagnosticMetadata: NSPM
>>>> X-OriginatorOrg: maynoothuniversity.onmicrosoft.com
>>>> X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jun 2016 21:22:24.5478 (UTC)
>>>> X-MS-Exchange-CrossTenant-Id: 1454f5cc-bb35-4685-bbd9-8621fd8055c9
>>>> X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
>>>> X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0201MB1922
>>>> X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 193.1.219.120
>>>> X-MS-Exchange-CrossPremises-AuthSource: DB3FFO11OLC004.protection.gbl
>>>> X-MS-Exchange-CrossPremises-AuthAs: Anonymous
>>>> X-MS-Exchange-CrossPremises-AVStamp-Service: 1.0
>>>> X-MS-Exchange-CrossPremises-SCL: 1
>>>> X-MS-Exchange-CrossPremises-Antispam-ScanContext:    DIR:Incoming;SFV:NSPM;SKIP:0;
>>>> X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent
>>>> X-OrganizationHeadersPreserved: AM4PR0201MB1922.eurprd02.prod.outlook.com
>>>>
>>>> Hi Victor,
>>>>
>>>> So what you're saying is that I should reset p4 to -1 in my plugin to
>>>> avoid rescaling and then (after that function you mention is made
>>>> available) Rory can still retrieve the original string used inside the
>>>> =2Ecsd as the p4 argument. Is that correct?
>>>>
>>>>> On 18/06/16 18:01, Victor Lazzarini wrote:
>>>>> Inside Csound, we would check for a NaN, and there is function to do th=
>>>> is. I am not quite sure whether p4 would still be a NaN by the time you a=
>>>> ccess the struct via the API. If that is the case, we just need to export=
>>>> the function that checks for it.
>>>>> Victor Lazzarini
>>>>> Dean of Arts, Celtic Studies, and Philosophy
>>>>> Maynooth University
>>>>> Ireland
>>>>>
>>>>>> On 18 Jun 2016, at 09:25, Rory Walsh  wrote:
>>>>>>
>>>>>> I need to check if I'm working with a named gen routine, or a regular =
>>>> one. I have something like this:
>>>>>>       MYFLT* argsPtr;
>>>>>>       csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>>>>
>>>>>> What's the best way to check if argsPtr[0] is a string?=20
>>>>>> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.=
>>>> ie/cgi-bin/wa?A0=3DCSOUND Send bugs reports to https://github.com/csound/=
>>>> csound/issues Discussions of bugs and features can be posted here
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=3DCSOUND
>>>>> Send bugs reports to
>>>>>       https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=3DCSOUND
>>>> Send bugs reports to
>>>>       https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>        https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>        https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-20 11:14
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
I had a look at this.

1. Currently the way a named plugin GEN can avoid rescaling is to replace
its p4 by a negative number (-1)

2. Doing the above will replace the NaN with -1. So the check for string
will not work.

3. Unless we provide another means to do it, we need to use p4. 

4. I think the cleanest thing to do is to provide an interface to
    a. disable rescaling (in CSOUND)
    b. retrieve a GEN name/number as a string (in csound.h)

========================
Dr 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 18 Jun 2016, at 21:45, Guillermo Senna  wrote:
> 
> I'm going to add something. If you build a new plugin for function
> tables you use a string for calling it. From what I've seen in
> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
> rescaling. This may inevitably lead to confusion if you try to do what
> Rory's trying to do.
> 
> So, the questions I have are:
> * Inside a function table plugin, how can I avoid rescaling if p4 is a
> string a not a number?
> * How can we check for that name with csoundGetTableArgs?
> * Should we just continue the GEN number's sequence for resetting p4
> inside plugins?
> * Should we use an offset like, for example, "pick a number above 100"
> for plugins?
> 
> Cheers.
> 
> On 18/06/16 05:25, Rory Walsh wrote:
>> I need to check if I'm working with a named gen routine, or a regular one.
>> I have something like this:
>> 
>>        MYFLT* argsPtr;
>>        csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>> 
>> What's the best way to check if argsPtr[0] is a string?
>> 
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>        https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>> 
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-20 11:56
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
added 2 API functions:

/**
     * Checks if a given GEN number num is a named GEN 
     * if so, it returns the string length (excluding terminating NULL char)
     * Otherwise it returns 0.
     */
    PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);

    /**
     * Gets the GEN name from a number num, if this is a named GEN
     * The final parameter is the max len of the string (excluding termination)
     */  
    PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);

The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
just multiply p4 by -1 (see the latest ftest.c code for an example)

in git. Not tested.
========================
Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini  wrote:
> 
> I had a look at this.
> 
> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
> its p4 by a negative number (-1)
> 
> 2. Doing the above will replace the NaN with -1. So the check for string
> will not work.
> 
> 3. Unless we provide another means to do it, we need to use p4. 
> 
> 4. I think the cleanest thing to do is to provide an interface to
>    a. disable rescaling (in CSOUND)
>    b. retrieve a GEN name/number as a string (in csound.h)
> 
> ========================
> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna  wrote:
>> 
>> I'm going to add something. If you build a new plugin for function
>> tables you use a string for calling it. From what I've seen in
>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>> rescaling. This may inevitably lead to confusion if you try to do what
>> Rory's trying to do.
>> 
>> So, the questions I have are:
>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>> string a not a number?
>> * How can we check for that name with csoundGetTableArgs?
>> * Should we just continue the GEN number's sequence for resetting p4
>> inside plugins?
>> * Should we use an offset like, for example, "pick a number above 100"
>> for plugins?
>> 
>> Cheers.
>> 
>> On 18/06/16 05:25, Rory Walsh wrote:
>>> I need to check if I'm working with a named gen routine, or a regular one.
>>> I have something like this:
>>> 
>>>       MYFLT* argsPtr;
>>>       csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>> 
>>> What's the best way to check if argsPtr[0] is a string?
>>> 
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>> 
>> 
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-20 12:22
FromRory Walsh
SubjectRe: csoundGetTableArgs() question...
How will the end-user specify scaling or not with a named gen? 

On 20 June 2016 at 11:56, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
added 2 API functions:

/**
     * Checks if a given GEN number num is a named GEN
     * if so, it returns the string length (excluding terminating NULL char)
     * Otherwise it returns 0.
     */
    PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);

    /**
     * Gets the GEN name from a number num, if this is a named GEN
     * The final parameter is the max len of the string (excluding termination)
     */
    PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);

The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
just multiply p4 by -1 (see the latest ftest.c code for an example)

in git. Not tested.
========================
Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> I had a look at this.
>
> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
> its p4 by a negative number (-1)
>
> 2. Doing the above will replace the NaN with -1. So the check for string
> will not work.
>
> 3. Unless we provide another means to do it, we need to use p4.
>
> 4. I think the cleanest thing to do is to provide an interface to
>    a. disable rescaling (in CSOUND)
>    b. retrieve a GEN name/number as a string (in csound.h)
>
> ========================
> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna <gsenna@GMAIL.COM> wrote:
>>
>> I'm going to add something. If you build a new plugin for function
>> tables you use a string for calling it. From what I've seen in
>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>> rescaling. This may inevitably lead to confusion if you try to do what
>> Rory's trying to do.
>>
>> So, the questions I have are:
>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>> string a not a number?
>> * How can we check for that name with csoundGetTableArgs?
>> * Should we just continue the GEN number's sequence for resetting p4
>> inside plugins?
>> * Should we use an offset like, for example, "pick a number above 100"
>> for plugins?
>>
>> Cheers.
>>
>> On 18/06/16 05:25, Rory Walsh wrote:
>>> I need to check if I'm working with a named gen routine, or a regular one.
>>> I have something like this:
>>>
>>>       MYFLT* argsPtr;
>>>       csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>
>>> What's the best way to check if argsPtr[0] is a string?
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>>
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2016-06-20 13:33
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
In the same way as before. Where this is relevant, there is an extra parameter, that can be made optional.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 12:22, Rory Walsh <rorywalsh@EAR.IE> wrote:

How will the end-user specify scaling or not with a named gen? 

On 20 June 2016 at 11:56, Victor Lazzarini < Victor.Lazzarini@nuim.ie> wrote:
added 2 API functions:

/**
     * Checks if a given GEN number num is a named GEN
     * if so, it returns the string length (excluding terminating NULL char)
     * Otherwise it returns 0.
     */
    PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);

    /**
     * Gets the GEN name from a number num, if this is a named GEN
     * The final parameter is the max len of the string (excluding termination)
     */
    PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);

The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
just multiply p4 by -1 (see the latest ftest.c code for an example)

in git. Not tested.
========================
Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> I had a look at this.
>
> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
> its p4 by a negative number (-1)
>
> 2. Doing the above will replace the NaN with -1. So the check for string
> will not work.
>
> 3. Unless we provide another means to do it, we need to use p4.
>
> 4. I think the cleanest thing to do is to provide an interface to
>    a. disable rescaling (in CSOUND)
>    b. retrieve a GEN name/number as a string (in csound.h)
>
> ========================
> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna <gsenna@GMAIL.COM> wrote:
>>
>> I'm going to add something. If you build a new plugin for function
>> tables you use a string for calling it. From what I've seen in
>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>> rescaling. This may inevitably lead to confusion if you try to do what
>> Rory's trying to do.
>>
>> So, the questions I have are:
>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>> string a not a number?
>> * How can we check for that name with csoundGetTableArgs?
>> * Should we just continue the GEN number's sequence for resetting p4
>> inside plugins?
>> * Should we use an offset like, for example, "pick a number above 100"
>> for plugins?
>>
>> Cheers.
>>
>> On 18/06/16 05:25, Rory Walsh wrote:
>>> I need to check if I'm working with a named gen routine, or a regular one.
>>> I have something like this:
>>>
>>>       MYFLT* argsPtr;
>>>       csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>
>>> What's the best way to check if argsPtr[0] is a string?
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>>
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2016-06-20 13:57
FromRory Walsh
SubjectRe: csoundGetTableArgs() question...
In the same way as before.

Using a negative p4? So something like this will be possible? 
f 2 0 8192 "-tanh" -100 100 0

Or am I missing something? 

 
Where this is relevant, there is an extra parameter, that can be made optional.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 12:22, Rory Walsh <rorywalsh@EAR.IE> wrote:

How will the end-user specify scaling or not with a named gen? 

On 20 June 2016 at 11:56, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
added 2 API functions:

/**
     * Checks if a given GEN number num is a named GEN
     * if so, it returns the string length (excluding terminating NULL char)
     * Otherwise it returns 0.
     */
    PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);

    /**
     * Gets the GEN name from a number num, if this is a named GEN
     * The final parameter is the max len of the string (excluding termination)
     */
    PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);

The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
just multiply p4 by -1 (see the latest ftest.c code for an example)

in git. Not tested.
========================
Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> I had a look at this.
>
> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
> its p4 by a negative number (-1)
>
> 2. Doing the above will replace the NaN with -1. So the check for string
> will not work.
>
> 3. Unless we provide another means to do it, we need to use p4.
>
> 4. I think the cleanest thing to do is to provide an interface to
>    a. disable rescaling (in CSOUND)
>    b. retrieve a GEN name/number as a string (in csound.h)
>
> ========================
> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna <gsenna@GMAIL.COM> wrote:
>>
>> I'm going to add something. If you build a new plugin for function
>> tables you use a string for calling it. From what I've seen in
>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>> rescaling. This may inevitably lead to confusion if you try to do what
>> Rory's trying to do.
>>
>> So, the questions I have are:
>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>> string a not a number?
>> * How can we check for that name with csoundGetTableArgs?
>> * Should we just continue the GEN number's sequence for resetting p4
>> inside plugins?
>> * Should we use an offset like, for example, "pick a number above 100"
>> for plugins?
>>
>> Cheers.
>>
>> On 18/06/16 05:25, Rory Walsh wrote:
>>> I need to check if I'm working with a named gen routine, or a regular one.
>>> I have something like this:
>>>
>>>       MYFLT* argsPtr;
>>>       csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>
>>> What's the best way to check if argsPtr[0] is a string?
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>>
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2016-06-20 14:03
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
No, using an extra parameter, p8 in the case of tanh. This has not changed.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 13:57, Rory Walsh <rorywalsh@EAR.IE> wrote:

In the same way as before.

Using a negative p4? So something like this will be possible? 
f 2 0 8192 "-tanh" -100 100 0

Or am I missing something? 

 
Where this is relevant, there is an extra parameter, that can be made optional.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 12:22, Rory Walsh <rorywalsh@EAR.IE> wrote:

How will the end-user specify scaling or not with a named gen? 

On 20 June 2016 at 11:56, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
added 2 API functions:

/**
     * Checks if a given GEN number num is a named GEN
     * if so, it returns the string length (excluding terminating NULL char)
     * Otherwise it returns 0.
     */
    PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);

    /**
     * Gets the GEN name from a number num, if this is a named GEN
     * The final parameter is the max len of the string (excluding termination)
     */
    PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);

The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
just multiply p4 by -1 (see the latest ftest.c code for an example)

in git. Not tested.
========================
Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> I had a look at this.
>
> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
> its p4 by a negative number (-1)
>
> 2. Doing the above will replace the NaN with -1. So the check for string
> will not work.
>
> 3. Unless we provide another means to do it, we need to use p4.
>
> 4. I think the cleanest thing to do is to provide an interface to
>    a. disable rescaling (in CSOUND)
>    b. retrieve a GEN name/number as a string (in csound.h)
>
> ========================
> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna <gsenna@GMAIL.COM> wrote:
>>
>> I'm going to add something. If you build a new plugin for function
>> tables you use a string for calling it. From what I've seen in
>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>> rescaling. This may inevitably lead to confusion if you try to do what
>> Rory's trying to do.
>>
>> So, the questions I have are:
>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>> string a not a number?
>> * How can we check for that name with csoundGetTableArgs?
>> * Should we just continue the GEN number's sequence for resetting p4
>> inside plugins?
>> * Should we use an offset like, for example, "pick a number above 100"
>> for plugins?
>>
>> Cheers.
>>
>> On 18/06/16 05:25, Rory Walsh wrote:
>>> I need to check if I'm working with a named gen routine, or a regular one.
>>> I have something like this:
>>>
>>>       MYFLT* argsPtr;
>>>       csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>
>>> What's the best way to check if argsPtr[0] is a string?
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>>
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2016-06-20 14:05
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
p7 for tanh, p8 for sone. Sorry, I misread the code.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 14:03, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:

No, using an extra parameter, p8 in the case of tanh. This has not changed.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 13:57, Rory Walsh <rorywalsh@EAR.IE> wrote:

In the same way as before.

Using a negative p4? So something like this will be possible? 
f 2 0 8192 "-tanh" -100 100 0

Or am I missing something? 

 
Where this is relevant, there is an extra parameter, that can be made optional.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 12:22, Rory Walsh <rorywalsh@EAR.IE> wrote:

How will the end-user specify scaling or not with a named gen? 

On 20 June 2016 at 11:56, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
added 2 API functions:

/**
     * Checks if a given GEN number num is a named GEN
     * if so, it returns the string length (excluding terminating NULL char)
     * Otherwise it returns 0.
     */
    PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);

    /**
     * Gets the GEN name from a number num, if this is a named GEN
     * The final parameter is the max len of the string (excluding termination)
     */
    PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);

The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
just multiply p4 by -1 (see the latest ftest.c code for an example)

in git. Not tested.
========================
Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> I had a look at this.
>
> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
> its p4 by a negative number (-1)
>
> 2. Doing the above will replace the NaN with -1. So the check for string
> will not work.
>
> 3. Unless we provide another means to do it, we need to use p4.
>
> 4. I think the cleanest thing to do is to provide an interface to
>    a. disable rescaling (in CSOUND)
>    b. retrieve a GEN name/number as a string (in csound.h)
>
> ========================
> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna <gsenna@GMAIL.COM> wrote:
>>
>> I'm going to add something. If you build a new plugin for function
>> tables you use a string for calling it. From what I've seen in
>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>> rescaling. This may inevitably lead to confusion if you try to do what
>> Rory's trying to do.
>>
>> So, the questions I have are:
>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>> string a not a number?
>> * How can we check for that name with csoundGetTableArgs?
>> * Should we just continue the GEN number's sequence for resetting p4
>> inside plugins?
>> * Should we use an offset like, for example, "pick a number above 100"
>> for plugins?
>>
>> Cheers.
>>
>> On 18/06/16 05:25, Rory Walsh wrote:
>>> I need to check if I'm working with a named gen routine, or a regular one.
>>> I have something like this:
>>>
>>>       MYFLT* argsPtr;
>>>       csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>
>>> What's the best way to check if argsPtr[0] is a string?
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>>
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2016-06-20 14:08
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
See the manual page, anyway.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 14:05, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:

p7 for tanh, p8 for sone. Sorry, I misread the code.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 14:03, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:

No, using an extra parameter, p8 in the case of tanh. This has not changed.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 13:57, Rory Walsh <rorywalsh@EAR.IE> wrote:

In the same way as before.

Using a negative p4? So something like this will be possible? 
f 2 0 8192 "-tanh" -100 100 0

Or am I missing something? 

 
Where this is relevant, there is an extra parameter, that can be made optional.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 12:22, Rory Walsh <rorywalsh@EAR.IE> wrote:

How will the end-user specify scaling or not with a named gen? 

On 20 June 2016 at 11:56, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
added 2 API functions:

/**
     * Checks if a given GEN number num is a named GEN
     * if so, it returns the string length (excluding terminating NULL char)
     * Otherwise it returns 0.
     */
    PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);

    /**
     * Gets the GEN name from a number num, if this is a named GEN
     * The final parameter is the max len of the string (excluding termination)
     */
    PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);

The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
just multiply p4 by -1 (see the latest ftest.c code for an example)

in git. Not tested.
========================
Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> I had a look at this.
>
> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
> its p4 by a negative number (-1)
>
> 2. Doing the above will replace the NaN with -1. So the check for string
> will not work.
>
> 3. Unless we provide another means to do it, we need to use p4.
>
> 4. I think the cleanest thing to do is to provide an interface to
>    a. disable rescaling (in CSOUND)
>    b. retrieve a GEN name/number as a string (in csound.h)
>
> ========================
> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna <gsenna@GMAIL.COM> wrote:
>>
>> I'm going to add something. If you build a new plugin for function
>> tables you use a string for calling it. From what I've seen in
>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>> rescaling. This may inevitably lead to confusion if you try to do what
>> Rory's trying to do.
>>
>> So, the questions I have are:
>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>> string a not a number?
>> * How can we check for that name with csoundGetTableArgs?
>> * Should we just continue the GEN number's sequence for resetting p4
>> inside plugins?
>> * Should we use an offset like, for example, "pick a number above 100"
>> for plugins?
>>
>> Cheers.
>>
>> On 18/06/16 05:25, Rory Walsh wrote:
>>> I need to check if I'm working with a named gen routine, or a regular one.
>>> I have something like this:
>>>
>>>       MYFLT* argsPtr;
>>>       csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>
>>> What's the best way to check if argsPtr[0] is a string?
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>>
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2016-06-20 15:36
FromRory Walsh
SubjectRe: csoundGetTableArgs() question...
Ok. Got it. 

On 20 June 2016 at 14:08, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
See the manual page, anyway.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 14:05, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:

p7 for tanh, p8 for sone. Sorry, I misread the code.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 14:03, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:

No, using an extra parameter, p8 in the case of tanh. This has not changed.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 13:57, Rory Walsh <rorywalsh@EAR.IE> wrote:

In the same way as before.

Using a negative p4? So something like this will be possible? 
f 2 0 8192 "-tanh" -100 100 0

Or am I missing something? 

 
Where this is relevant, there is an extra parameter, that can be made optional.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

On 20 Jun 2016, at 12:22, Rory Walsh <rorywalsh@EAR.IE> wrote:

How will the end-user specify scaling or not with a named gen? 

On 20 June 2016 at 11:56, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
added 2 API functions:

/**
     * Checks if a given GEN number num is a named GEN
     * if so, it returns the string length (excluding terminating NULL char)
     * Otherwise it returns 0.
     */
    PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);

    /**
     * Gets the GEN name from a number num, if this is a named GEN
     * The final parameter is the max len of the string (excluding termination)
     */
    PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);

The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
just multiply p4 by -1 (see the latest ftest.c code for an example)

in git. Not tested.
========================
Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
>
> I had a look at this.
>
> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
> its p4 by a negative number (-1)
>
> 2. Doing the above will replace the NaN with -1. So the check for string
> will not work.
>
> 3. Unless we provide another means to do it, we need to use p4.
>
> 4. I think the cleanest thing to do is to provide an interface to
>    a. disable rescaling (in CSOUND)
>    b. retrieve a GEN name/number as a string (in csound.h)
>
> ========================
> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna <gsenna@GMAIL.COM> wrote:
>>
>> I'm going to add something. If you build a new plugin for function
>> tables you use a string for calling it. From what I've seen in
>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>> rescaling. This may inevitably lead to confusion if you try to do what
>> Rory's trying to do.
>>
>> So, the questions I have are:
>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>> string a not a number?
>> * How can we check for that name with csoundGetTableArgs?
>> * Should we just continue the GEN number's sequence for resetting p4
>> inside plugins?
>> * Should we use an offset like, for example, "pick a number above 100"
>> for plugins?
>>
>> Cheers.
>>
>> On 18/06/16 05:25, Rory Walsh wrote:
>>> I need to check if I'm working with a named gen routine, or a regular one.
>>> I have something like this:
>>>
>>>       MYFLT* argsPtr;
>>>       csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>
>>> What's the best way to check if argsPtr[0] is a string?
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>>
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2016-06-20 18:28
FromGuillermo Senna
SubjectRe: csoundGetTableArgs() question...
It seems to work well. Thank you very much for implementing this Victor!
I have a question though. Did you not abs(num) for a particular reason
in csoundIsNamedGEN()?

The plugin we are thinking of with Rory is for creating quadratic Bézier
curves (with multiple segments). I'll post it to the list if we manage
to get it going, in case anyone is interested. People building widgets
and working with interactive interfaces may find it useful.

Thank you again!

On 20/06/16 07:56, Victor Lazzarini wrote:
> added 2 API functions:
>
> /**
>      * Checks if a given GEN number num is a named GEN 
>      * if so, it returns the string length (excluding terminating NULL char)
>      * Otherwise it returns 0.
>      */
>     PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);
>
>     /**
>      * Gets the GEN name from a number num, if this is a named GEN
>      * The final parameter is the max len of the string (excluding termination)
>      */  
>     PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);
>
> The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
> just multiply p4 by -1 (see the latest ftest.c code for an example)
>
> in git. Not tested.
> ========================
> Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini  wrote:
>>
>> I had a look at this.
>>
>> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
>> its p4 by a negative number (-1)
>>
>> 2. Doing the above will replace the NaN with -1. So the check for string
>> will not work.
>>
>> 3. Unless we provide another means to do it, we need to use p4. 
>>
>> 4. I think the cleanest thing to do is to provide an interface to
>>    a. disable rescaling (in CSOUND)
>>    b. retrieve a GEN name/number as a string (in csound.h)
>>
>> ========================
>> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna  wrote:
>>>
>>> I'm going to add something. If you build a new plugin for function
>>> tables you use a string for calling it. From what I've seen in
>>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>>> rescaling. This may inevitably lead to confusion if you try to do what
>>> Rory's trying to do.
>>>
>>> So, the questions I have are:
>>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>>> string a not a number?
>>> * How can we check for that name with csoundGetTableArgs?
>>> * Should we just continue the GEN number's sequence for resetting p4
>>> inside plugins?
>>> * Should we use an offset like, for example, "pick a number above 100"
>>> for plugins?
>>>
>>> Cheers.
>>>
>>> On 18/06/16 05:25, Rory Walsh wrote:
>>>> I need to check if I'm working with a named gen routine, or a regular one.
>>>> I have something like this:
>>>>
>>>>       MYFLT* argsPtr;
>>>>       csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>>
>>>> What's the best way to check if argsPtr[0] is a string?
>>>>
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>       https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>        https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-20 19:12
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
I forgot to do the abs(). Will fix it.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

> On 20 Jun 2016, at 18:28, Guillermo Senna  wrote:
> 
> It seems to work well. Thank you very much for implementing this Victor!
> I have a question though. Did you not abs(num) for a particular reason
> in csoundIsNamedGEN()?
> 
> The plugin we are thinking of with Rory is for creating quadratic Bézier
> curves (with multiple segments). I'll post it to the list if we manage
> to get it going, in case anyone is interested. People building widgets
> and working with interactive interfaces may find it useful.
> 
> Thank you again!
> 
>> On 20/06/16 07:56, Victor Lazzarini wrote:
>> added 2 API functions:
>> 
>> /**
>>     * Checks if a given GEN number num is a named GEN 
>>     * if so, it returns the string length (excluding terminating NULL char)
>>     * Otherwise it returns 0.
>>     */
>>    PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);
>> 
>>    /**
>>     * Gets the GEN name from a number num, if this is a named GEN
>>     * The final parameter is the max len of the string (excluding termination)
>>     */  
>>    PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);
>> 
>> The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
>> just multiply p4 by -1 (see the latest ftest.c code for an example)
>> 
>> in git. Not tested.
>> ========================
>> Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini  wrote:
>>> 
>>> I had a look at this.
>>> 
>>> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
>>> its p4 by a negative number (-1)
>>> 
>>> 2. Doing the above will replace the NaN with -1. So the check for string
>>> will not work.
>>> 
>>> 3. Unless we provide another means to do it, we need to use p4. 
>>> 
>>> 4. I think the cleanest thing to do is to provide an interface to
>>>   a. disable rescaling (in CSOUND)
>>>   b. retrieve a GEN name/number as a string (in csound.h)
>>> 
>>> ========================
>>> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna  wrote:
>>>> 
>>>> I'm going to add something. If you build a new plugin for function
>>>> tables you use a string for calling it. From what I've seen in
>>>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>>>> rescaling. This may inevitably lead to confusion if you try to do what
>>>> Rory's trying to do.
>>>> 
>>>> So, the questions I have are:
>>>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>>>> string a not a number?
>>>> * How can we check for that name with csoundGetTableArgs?
>>>> * Should we just continue the GEN number's sequence for resetting p4
>>>> inside plugins?
>>>> * Should we use an offset like, for example, "pick a number above 100"
>>>> for plugins?
>>>> 
>>>> Cheers.
>>>> 
>>>>> On 18/06/16 05:25, Rory Walsh wrote:
>>>>> I need to check if I'm working with a named gen routine, or a regular one.
>>>>> I have something like this:
>>>>> 
>>>>>      MYFLT* argsPtr;
>>>>>      csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>>> 
>>>>> What's the best way to check if argsPtr[0] is a string?
>>>>> 
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>>      https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>      https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>        https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-20 19:28
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
Fixed it. Also fixed ftgen to work with the new system.
========================
Dr 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 20 Jun 2016, at 19:12, Victor Lazzarini  wrote:
> 
> I forgot to do the abs(). Will fix it.
> 
> Victor Lazzarini
> Dean of Arts, Celtic Studies, and Philosophy
> Maynooth University
> Ireland
> 
>> On 20 Jun 2016, at 18:28, Guillermo Senna  wrote:
>> 
>> It seems to work well. Thank you very much for implementing this Victor!
>> I have a question though. Did you not abs(num) for a particular reason
>> in csoundIsNamedGEN()?
>> 
>> The plugin we are thinking of with Rory is for creating quadratic Bézier
>> curves (with multiple segments). I'll post it to the list if we manage
>> to get it going, in case anyone is interested. People building widgets
>> and working with interactive interfaces may find it useful.
>> 
>> Thank you again!
>> 
>>> On 20/06/16 07:56, Victor Lazzarini wrote:
>>> added 2 API functions:
>>> 
>>> /**
>>>    * Checks if a given GEN number num is a named GEN 
>>>    * if so, it returns the string length (excluding terminating NULL char)
>>>    * Otherwise it returns 0.
>>>    */
>>>   PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);
>>> 
>>>   /**
>>>    * Gets the GEN name from a number num, if this is a named GEN
>>>    * The final parameter is the max len of the string (excluding termination)
>>>    */  
>>>   PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);
>>> 
>>> The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
>>> just multiply p4 by -1 (see the latest ftest.c code for an example)
>>> 
>>> in git. Not tested.
>>> ========================
>>> Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini  wrote:
>>>> 
>>>> I had a look at this.
>>>> 
>>>> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
>>>> its p4 by a negative number (-1)
>>>> 
>>>> 2. Doing the above will replace the NaN with -1. So the check for string
>>>> will not work.
>>>> 
>>>> 3. Unless we provide another means to do it, we need to use p4. 
>>>> 
>>>> 4. I think the cleanest thing to do is to provide an interface to
>>>>  a. disable rescaling (in CSOUND)
>>>>  b. retrieve a GEN name/number as a string (in csound.h)
>>>> 
>>>> ========================
>>>> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna  wrote:
>>>>> 
>>>>> I'm going to add something. If you build a new plugin for function
>>>>> tables you use a string for calling it. From what I've seen in
>>>>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>>>>> rescaling. This may inevitably lead to confusion if you try to do what
>>>>> Rory's trying to do.
>>>>> 
>>>>> So, the questions I have are:
>>>>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>>>>> string a not a number?
>>>>> * How can we check for that name with csoundGetTableArgs?
>>>>> * Should we just continue the GEN number's sequence for resetting p4
>>>>> inside plugins?
>>>>> * Should we use an offset like, for example, "pick a number above 100"
>>>>> for plugins?
>>>>> 
>>>>> Cheers.
>>>>> 
>>>>>> On 18/06/16 05:25, Rory Walsh wrote:
>>>>>> I need to check if I'm working with a named gen routine, or a regular one.
>>>>>> I have something like this:
>>>>>> 
>>>>>>     MYFLT* argsPtr;
>>>>>>     csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>>>> 
>>>>>> What's the best way to check if argsPtr[0] is a string?
>>>>>> 
>>>>>> Csound mailing list
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> Send bugs reports to
>>>>>>     https://github.com/csound/csound/issues
>>>>>> Discussions of bugs and features can be posted here
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>>     https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>      https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> 
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-20 20:18
FromMichael Gogins
SubjectRe: csoundGetTableArgs() question...
Did you also fix ftgenonce to work with the new system? If not could
you please do that?

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Mon, Jun 20, 2016 at 2:28 PM, Victor Lazzarini
 wrote:
> Fixed it. Also fixed ftgen to work with the new system.
> ========================
> Dr 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 20 Jun 2016, at 19:12, Victor Lazzarini  wrote:
>>
>> I forgot to do the abs(). Will fix it.
>>
>> Victor Lazzarini
>> Dean of Arts, Celtic Studies, and Philosophy
>> Maynooth University
>> Ireland
>>
>>> On 20 Jun 2016, at 18:28, Guillermo Senna  wrote:
>>>
>>> It seems to work well. Thank you very much for implementing this Victor!
>>> I have a question though. Did you not abs(num) for a particular reason
>>> in csoundIsNamedGEN()?
>>>
>>> The plugin we are thinking of with Rory is for creating quadratic Bézier
>>> curves (with multiple segments). I'll post it to the list if we manage
>>> to get it going, in case anyone is interested. People building widgets
>>> and working with interactive interfaces may find it useful.
>>>
>>> Thank you again!
>>>
>>>> On 20/06/16 07:56, Victor Lazzarini wrote:
>>>> added 2 API functions:
>>>>
>>>> /**
>>>>    * Checks if a given GEN number num is a named GEN
>>>>    * if so, it returns the string length (excluding terminating NULL char)
>>>>    * Otherwise it returns 0.
>>>>    */
>>>>   PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);
>>>>
>>>>   /**
>>>>    * Gets the GEN name from a number num, if this is a named GEN
>>>>    * The final parameter is the max len of the string (excluding termination)
>>>>    */
>>>>   PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);
>>>>
>>>> The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
>>>> just multiply p4 by -1 (see the latest ftest.c code for an example)
>>>>
>>>> in git. Not tested.
>>>> ========================
>>>> Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini  wrote:
>>>>>
>>>>> I had a look at this.
>>>>>
>>>>> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
>>>>> its p4 by a negative number (-1)
>>>>>
>>>>> 2. Doing the above will replace the NaN with -1. So the check for string
>>>>> will not work.
>>>>>
>>>>> 3. Unless we provide another means to do it, we need to use p4.
>>>>>
>>>>> 4. I think the cleanest thing to do is to provide an interface to
>>>>>  a. disable rescaling (in CSOUND)
>>>>>  b. retrieve a GEN name/number as a string (in csound.h)
>>>>>
>>>>> ========================
>>>>> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna  wrote:
>>>>>>
>>>>>> I'm going to add something. If you build a new plugin for function
>>>>>> tables you use a string for calling it. From what I've seen in
>>>>>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>>>>>> rescaling. This may inevitably lead to confusion if you try to do what
>>>>>> Rory's trying to do.
>>>>>>
>>>>>> So, the questions I have are:
>>>>>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>>>>>> string a not a number?
>>>>>> * How can we check for that name with csoundGetTableArgs?
>>>>>> * Should we just continue the GEN number's sequence for resetting p4
>>>>>> inside plugins?
>>>>>> * Should we use an offset like, for example, "pick a number above 100"
>>>>>> for plugins?
>>>>>>
>>>>>> Cheers.
>>>>>>
>>>>>>> On 18/06/16 05:25, Rory Walsh wrote:
>>>>>>> I need to check if I'm working with a named gen routine, or a regular one.
>>>>>>> I have something like this:
>>>>>>>
>>>>>>>     MYFLT* argsPtr;
>>>>>>>     csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>>>>>
>>>>>>> What's the best way to check if argsPtr[0] is a string?
>>>>>>>
>>>>>>> Csound mailing list
>>>>>>> Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>> Send bugs reports to
>>>>>>>     https://github.com/csound/csound/issues
>>>>>>> Discussions of bugs and features can be posted here
>>>>>> Csound mailing list
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> Send bugs reports to
>>>>>>     https://github.com/csound/csound/issues
>>>>>> Discussions of bugs and features can be posted here
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>>      https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>       https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>        https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2016-06-20 20:19
FromVictor Lazzarini
SubjectRe: csoundGetTableArgs() question...
Will look into it.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

> On 20 Jun 2016, at 20:18, Michael Gogins  wrote:
> 
> Did you also fix ftgenonce to work with the new system? If not could
> you please do that?
> 
> Regards,
> Mike
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
> 
> 
> On Mon, Jun 20, 2016 at 2:28 PM, Victor Lazzarini
>  wrote:
>> Fixed it. Also fixed ftgen to work with the new system.
>> ========================
>> Dr 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 20 Jun 2016, at 19:12, Victor Lazzarini  wrote:
>>> 
>>> I forgot to do the abs(). Will fix it.
>>> 
>>> Victor Lazzarini
>>> Dean of Arts, Celtic Studies, and Philosophy
>>> Maynooth University
>>> Ireland
>>> 
>>>> On 20 Jun 2016, at 18:28, Guillermo Senna  wrote:
>>>> 
>>>> It seems to work well. Thank you very much for implementing this Victor!
>>>> I have a question though. Did you not abs(num) for a particular reason
>>>> in csoundIsNamedGEN()?
>>>> 
>>>> The plugin we are thinking of with Rory is for creating quadratic Bézier
>>>> curves (with multiple segments). I'll post it to the list if we manage
>>>> to get it going, in case anyone is interested. People building widgets
>>>> and working with interactive interfaces may find it useful.
>>>> 
>>>> Thank you again!
>>>> 
>>>>> On 20/06/16 07:56, Victor Lazzarini wrote:
>>>>> added 2 API functions:
>>>>> 
>>>>> /**
>>>>>   * Checks if a given GEN number num is a named GEN
>>>>>   * if so, it returns the string length (excluding terminating NULL char)
>>>>>   * Otherwise it returns 0.
>>>>>   */
>>>>>  PUBLIC int csoundIsNamedGEN(CSOUND *csound, int num);
>>>>> 
>>>>>  /**
>>>>>   * Gets the GEN name from a number num, if this is a named GEN
>>>>>   * The final parameter is the max len of the string (excluding termination)
>>>>>   */
>>>>>  PUBLIC void csoundGetNamedGEN(CSOUND *csound, int num, char *name, int len);
>>>>> 
>>>>> The named gen will be assigned a number by Csound. So if you want to prevent rescaling,
>>>>> just multiply p4 by -1 (see the latest ftest.c code for an example)
>>>>> 
>>>>> in git. Not tested.
>>>>> ========================
>>>>> Dr 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 20 Jun 2016, at 11:14, Victor Lazzarini  wrote:
>>>>>> 
>>>>>> I had a look at this.
>>>>>> 
>>>>>> 1. Currently the way a named plugin GEN can avoid rescaling is to replace
>>>>>> its p4 by a negative number (-1)
>>>>>> 
>>>>>> 2. Doing the above will replace the NaN with -1. So the check for string
>>>>>> will not work.
>>>>>> 
>>>>>> 3. Unless we provide another means to do it, we need to use p4.
>>>>>> 
>>>>>> 4. I think the cleanest thing to do is to provide an interface to
>>>>>> a. disable rescaling (in CSOUND)
>>>>>> b. retrieve a GEN name/number as a string (in csound.h)
>>>>>> 
>>>>>> ========================
>>>>>> Dr 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 18 Jun 2016, at 21:45, Guillermo Senna  wrote:
>>>>>>> 
>>>>>>> I'm going to add something. If you build a new plugin for function
>>>>>>> tables you use a string for calling it. From what I've seen in
>>>>>>> Opcodes/fareygen.c, you must reset p4 to a negative number to avoid
>>>>>>> rescaling. This may inevitably lead to confusion if you try to do what
>>>>>>> Rory's trying to do.
>>>>>>> 
>>>>>>> So, the questions I have are:
>>>>>>> * Inside a function table plugin, how can I avoid rescaling if p4 is a
>>>>>>> string a not a number?
>>>>>>> * How can we check for that name with csoundGetTableArgs?
>>>>>>> * Should we just continue the GEN number's sequence for resetting p4
>>>>>>> inside plugins?
>>>>>>> * Should we use an offset like, for example, "pick a number above 100"
>>>>>>> for plugins?
>>>>>>> 
>>>>>>> Cheers.
>>>>>>> 
>>>>>>>> On 18/06/16 05:25, Rory Walsh wrote:
>>>>>>>> I need to check if I'm working with a named gen routine, or a regular one.
>>>>>>>> I have something like this:
>>>>>>>> 
>>>>>>>>    MYFLT* argsPtr;
>>>>>>>>    csoundGetTableArgs(csound->GetCsound(), &argsPtr, tableNum);
>>>>>>>> 
>>>>>>>> What's the best way to check if argsPtr[0] is a string?
>>>>>>>> 
>>>>>>>> Csound mailing list
>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>> Send bugs reports to
>>>>>>>>    https://github.com/csound/csound/issues
>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>> Csound mailing list
>>>>>>> Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>> Send bugs reports to
>>>>>>>    https://github.com/csound/csound/issues
>>>>>>> Discussions of bugs and features can be posted here
>>>>>> Csound mailing list
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> Send bugs reports to
>>>>>>     https://github.com/csound/csound/issues
>>>>>> Discussions of bugs and features can be posted here
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>>      https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>> 
>>>> Csound mailing list
>>>> Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>> Send bugs reports to
>>>>      https://github.com/csound/csound/issues
>>>> Discussions of bugs and features can be posted here
>>> 
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>>       https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> 
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>        https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here