コード例 #1
0
ファイル: sampleChannel.cpp プロジェクト: DomiLou/giada
int SampleChannel::readPatch_DEPR_(const char *f, int i)
{
	int res = load(f);

		volume      = G_Patch_DEPR_.getVol(i);
		key         = G_Patch_DEPR_.getKey(i);
		index       = G_Patch_DEPR_.getIndex(i);
		mode        = G_Patch_DEPR_.getMode(i);
		mute        = G_Patch_DEPR_.getMute(i);
		mute_s      = G_Patch_DEPR_.getMute_s(i);
		solo        = G_Patch_DEPR_.getSolo(i);
		boost       = G_Patch_DEPR_.getBoost(i);
		panLeft     = G_Patch_DEPR_.getPanLeft(i);
		panRight    = G_Patch_DEPR_.getPanRight(i);
		readActions = G_Patch_DEPR_.getRecActive(i);
		recStatus   = readActions ? REC_READING : REC_STOPPED;

		readPatchMidiIn_DEPR_(i);
		midiInReadActions = G_Patch_DEPR_.getMidiValue(i, "InReadActions");
		midiInPitch       = G_Patch_DEPR_.getMidiValue(i, "InPitch");
		readPatchMidiOut_DEPR_(i);

	if (res == SAMPLE_LOADED_OK) {
		setBegin(G_Patch_DEPR_.getBegin(i));
		setEnd  (G_Patch_DEPR_.getEnd(i, wave->size));
		setPitch(G_Patch_DEPR_.getPitch(i));
	}
	else {
		// volume = DEFAULT_VOL;
		// mode   = DEFAULT_CHANMODE;
		// status = STATUS_WRONG;
		// key    = 0;

		if (res == SAMPLE_LEFT_EMPTY)
			status = STATUS_EMPTY;
		else
		if (res == SAMPLE_READ_ERROR)
			status = STATUS_MISSING;
		sendMidiLplay();
	}

	return res;
}