add expression pedal types

This commit is contained in:
Tomasz Moń
2009-02-24 22:26:18 +01:00
parent 5cf9c021d8
commit 22de8a00ab
3 changed files with 108 additions and 1 deletions

17
gdigi.c
View File

@@ -193,7 +193,7 @@ void set_higher_option(gint id, gint position, int type)
0x00, 0x00, 0x00, /* ID */
0x00, /* position */
0x00, /* value length */
0x00, 0x00, /* type */
0x00, 0x00, 0x00, /* type */
0x00, /* checksum */ 0xF7};
set_type[9] = ((id & 0x80) >> 2);
@@ -232,6 +232,21 @@ void set_higher_option(gint id, gint position, int type)
set_type[16] = calculate_checksum(set_type, 18, 16) ^ 0x07;
send_data(set_type, 18);
} else if (type < 0xFFFFFF) {
set_type[9] |= 0x08; // there'll be length before value
if (((type & 0x80) >> 7) == 1)
set_type[9] |= 0x01;
set_type[13] = 0x03;
set_type[14] = ((type & 0xFF0000) >> 16);
set_type[15] = ((type & 0x00FF00) >> 8);
set_type[16] = ((type & 0x00007F));
set_type[18] = 0xF7;
set_type[17] = calculate_checksum(set_type, 19, 17) ^ 0x07;
send_data(set_type, 19);
}
}

48
gdigi.h
View File

@@ -406,6 +406,54 @@ enum {
#define EMT240_PLATE_LIVELINESS 1933
#define EMT240_PLATE_LEVEL 1925
enum {
EXP_TYPE_NONE = 0,
EXP_TYPE_PICKUP_ENABLE = 131137,
EXP_TYPE_PIKCUP_TYPE = 131136,
EXP_TYPE_COMP_ENABLE = 262337,
EXP_TYPE_COMP_SUST = 262352,
EXP_TYPE_COMP_TONE = 262353,
EXP_TYPE_COMP_LEVEL = 262354,
EXP_TYPE_COMP_ATTACK = 262355,
EXP_TYPE_DIST_ENABLE = 395649,
EXP_TYPE_DIST_DISTORTION = 395653,
EXP_TYPE_DIST_FILTER = 395654,
EXP_TYPE_DIST_VOLUME = 395655,
EXP_TYPE_AMP_ENABLE = 524553,
EXP_TYPE_AMP_GAIN = 526785,
EXP_TYPE_AMP_LEVEL = 526786,
EXP_TYPE_EQ_ENABLE = 1576076,
EXP_TYPE_EQ_BASS = 1576067,
EXP_TYPE_EQ_MID = 1576068,
EXP_TYPE_EQ_TREB = 1576069,
EXP_TYPE_GATE_ENABLE = 787137,
EXP_TYPE_GATE_THRESHOLD = 787142,
EXP_TYPE_GATE_ATTACK = 787144,
EXP_TYPE_GATE_RELEASE = 787145,
EXP_TYPE_GATE_ATTN = 787146,
EXP_TYPE_CHORUSFX_ENABLE = 918273,
EXP_TYPE_PHASER_SPEED = 918466,
EXP_TYPE_PHASER_DEPTH = 918467,
EXP_TYPE_PHASER_REGEN = 918470,
EXP_TYPE_PHASER_WAVEFORM = 918471,
EXP_TYPE_PHASER_LEVEL = 918469,
EXP_TYPE_DELAY_ENABLE = 984897,
EXP_TYPE_DELAY_TIME = 984928,
EXP_TYPE_DELAY_REPEATS = 984903,
EXP_TYPE_DELAY_LEVEL = 984900,
EXP_TYPE_DELAY_DUCK_THRESH = 984929,
EXP_TYPE_DELAY_DUCK_LEVEL = 984930,
EXP_TYPE_REVERB_ENABLE = 1050497,
EXP_TYPE_REVERB_LEVEL = 1050501,
EXP_TYPE_VOLUME_PRE_FX = 854594,
EXP_TYPE_VOLUME_POST_FX = 1116738
};
#define EXP_TYPE 8194
#define EXP_POSITION 19
void set_option(guint id, guint position, guint value);
void set_higher_option(gint id, gint position, int type);
void set_wah_min(int level);
void set_wah_max(int level);
void set_wah_level(int level);

44
tests.c
View File

@@ -620,6 +620,50 @@ void test_reverb()
set_reverb_on_off(FALSE);
}
void test_exp()
{
set_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_NONE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_PICKUP_ENABLE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_PIKCUP_TYPE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_COMP_ENABLE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_COMP_SUST);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_COMP_TONE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_COMP_LEVEL);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_COMP_ATTACK);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_DIST_ENABLE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_DIST_DISTORTION);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_DIST_FILTER);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_DIST_VOLUME);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_AMP_ENABLE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_AMP_GAIN);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_AMP_LEVEL);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_EQ_ENABLE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_EQ_BASS);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_EQ_MID);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_EQ_TREB);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_GATE_ENABLE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_GATE_THRESHOLD);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_GATE_ATTACK);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_GATE_RELEASE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_GATE_ATTN);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_CHORUSFX_ENABLE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_PHASER_SPEED);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_PHASER_DEPTH);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_PHASER_REGEN);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_PHASER_WAVEFORM);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_PHASER_LEVEL);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_DELAY_ENABLE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_DELAY_TIME);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_DELAY_REPEATS);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_DELAY_LEVEL);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_DELAY_DUCK_THRESH);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_DELAY_DUCK_LEVEL);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_REVERB_ENABLE);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_REVERB_LEVEL);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_VOLUME_PRE_FX);
set_higher_option(EXP_TYPE, EXP_POSITION, EXP_TYPE_VOLUME_POST_FX);
}
void test_all()
{
test_wah();