The alternate hack is now removed, although it did not have any effect anyway since it was #ifdef-ed out. outvalue also no longer strips leading $ characters from channel names (invalue still does, however). Note that your magic number is too large for the resolution of 32 bit floats, and may get rounded to a different value if MYFLT is float. Thus, the host must do the check as 'if (value == (MYFLT) -987654321)' (hopefully the rounding error in the host will match that of CsoundLib), while for example 'if (value == -987654321.0)' would possibly not work correctly. Also, the :: separator requires making a copy of the channel name (you should not modify it in-place, and it is const char*) to extract the actual channel name, and for an older host every string value will appear as a separate new channel. However, as I already stated, I am fine with keeping your implementation (its functionality is already restored, with some minor fixes and style changes), particularly given that I do not use invalue/outvalue frequently anyway. _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net