📄 sound.c
字号:
#include <allegro.h>
#include "sound.h"
void set_patch(int channel, int prog)
{
unsigned char msg[2];
msg[0] = 0xC0+channel;
msg[1] = prog;
midi_out(msg, 2);
}
void set_pan(int channel, int pan)
{
unsigned char msg[3];
msg[0] = 0xB0+channel;
msg[1] = 10;
msg[2] = pan / 2;
midi_out(msg, 3);
}
void note_on(int channel, int pitch, int vel)
{
unsigned char msg[3];
msg[0] = 0x90+channel;
msg[1] = pitch;
msg[2] = vel / 2;
midi_out(msg, 3);
}
void note_off(int channel, int pitch)
{
unsigned char msg[3];
msg[0] = 0x80+channel;
msg[1] = pitch;
msg[2] = 0;
midi_out(msg, 3);
}
void sound(){
int channel = 0;
int patch = 116;
int pitch = 60;
set_patch(channel, patch);
set_pan(channel, MID(0, 127, 127));
note_on(channel, pitch, MID(0, 255, 127));
note_off(channel, pitch);
rest(140);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -