diff -uNr orig/modplug.cpp src/modplug.cpp --- orig/modplug.cpp 2006-03-19 22:29:04.000000000 -0500 +++ src/modplug.cpp 2007-12-17 17:17:42.000000000 -0500 @@ -168,6 +168,18 @@ return ( file->mSoundFile.m_nMixChannels < file->mSoundFile.m_nMaxMixChannels ? file->mSoundFile.m_nMixChannels : file->mSoundFile.m_nMaxMixChannels ); } +void ModPlug_MuteChannel(ModPlugFile* file, int chan) { + if(chan < 0 || chan >= MAX_CHANNELS) + return; + file->mSoundFile.Chn[chan].dwFlags |= CHN_MUTE; +} + +void ModPlug_UnmuteChannel(ModPlugFile* file, int chan) { + if(chan < 0 || chan >= MAX_CHANNELS) + return; + file->mSoundFile.Chn[chan].dwFlags &= ~CHN_MUTE; +} + void ModPlug_SeekOrder(ModPlugFile* file,int order) { file->mSoundFile.SetCurrentOrder(order); diff -uNr orig/modplug.h src/modplug.h --- orig/modplug.h 2006-03-19 22:28:35.000000000 -0500 +++ src/modplug.h 2007-12-17 17:12:14.000000000 -0500 @@ -109,6 +109,9 @@ int ModPlug_GetCurrentRow(ModPlugFile* file); int ModPlug_GetPlayingChannels(ModPlugFile* file); +void ModPlug_MuteChannel(ModPlugFile* file, int chan); +void ModPlug_UnmuteChannel(ModPlugFile* file, int chan); + void ModPlug_SeekOrder(ModPlugFile* file,int order); int ModPlug_GetModuleType(ModPlugFile* file); char* ModPlug_GetMessage(ModPlugFile* file);