1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-09-17 16:50:26 +02:00

commit it tidied up version of the patch to fix bug 497, with a consistent error message (none of the others include the Error. prefix) and some documentation of what the nyx function returns for future sanity.

This commit is contained in:
richardash1981 2012-06-16 16:58:17 +00:00
parent af48fa2ad1
commit b8134fc306
3 changed files with 18 additions and 1 deletions

View File

@ -875,7 +875,11 @@ int nyx_get_audio_num_channels()
}
if (vectorp(nyx_result)) {
return getsize(nyx_result);
if (getsize(nyx_result) == 1) {
return -1; // invalid number of channels in array
} else {
return getsize(nyx_result);
}
}
return 1;

View File

@ -64,6 +64,12 @@ extern "C"
nyx_rval nyx_eval_expression(const char *expr);
/** @brief Get the number of channels in the Nyquist audio object
*
* @return The positive integer number of audio channels in the
* Nyquist audio object, 0 if not an audio object, -1 one if
* Nyquist returns an array of samples (which we can't handle)
*/
int nyx_get_audio_num_channels();
int nyx_get_audio(nyx_audio_callback callback,
void *userdata);

View File

@ -917,6 +917,13 @@ bool EffectNyquist::ProcessOne()
return false;
}
if (outChannels == -1) {
wxMessageBox(_("Nyquist returned one audio channel as an array.\n"),
wxT("Nyquist"),
wxOK | wxCENTRE, mParent);
return false;
}
double rate = mCurTrack[0]->GetRate();
for (i = 0; i < outChannels; i++) {
sampleFormat format = mCurTrack[i]->GetSampleFormat();