MCPcopy Create free account
hub / github.com/BambooTracker/BambooTracker / funcJamKeyOff

Method funcJamKeyOff

BambooTracker/bamboo_tracker.cpp:1455–1488  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1453}
1454
1455void BambooTracker::funcJamKeyOff(JamKey key, int keyNum, const TrackAttribute& attrib)
1456{
1457 if (attrib.source == SoundSource::RHYTHM) {
1458 opnaCtrl_->setKeyOffFlagRhythm(attrib.channelInSource);
1459 opnaCtrl_->updateKeyOnOffStatusRhythm(true);
1460 }
1461 else {
1462 JamKeyInfo&& info = jamMan_->keyOff(key, keyNum);
1463
1464 if (info.channelInSource > -1) { // Key still sound
1465 switch (info.source) {
1466 case SoundSource::FM:
1467 if (songStyle_.type == SongType::FM3chExpanded && info.channelInSource == 2) {
1468 opnaCtrl_->keyOffFM(2, true);
1469 opnaCtrl_->keyOffFM(6, true);
1470 opnaCtrl_->keyOffFM(7, true);
1471 opnaCtrl_->keyOffFM(8, true);
1472 }
1473 else {
1474 opnaCtrl_->keyOffFM(info.channelInSource, true);
1475 }
1476 break;
1477 case SoundSource::SSG:
1478 opnaCtrl_->keyOffSSG(info.channelInSource, true);
1479 break;
1480 case SoundSource::ADPCM:
1481 opnaCtrl_->keyOffADPCM(true);
1482 break;
1483 default:
1484 break;
1485 }
1486 }
1487 }
1488}
1489
1490void BambooTracker::jamkeyOffAll()
1491{

Callers

nothing calls this directly

Calls 6

setKeyOffFlagRhythmMethod · 0.80
keyOffMethod · 0.80
keyOffFMMethod · 0.80
keyOffSSGMethod · 0.60
keyOffADPCMMethod · 0.60

Tested by

no test coverage detected