diff options
author | Marcel Lauwerijssen <paranoya@morphcore.com> | 2005-03-03 08:06:31 (GMT) |
---|---|---|
committer | Marcel Lauwerijssen <paranoya@morphcore.com> | 2005-03-03 08:06:31 (GMT) |
commit | e0ddd606e20bbb7c574a21028130edf616383f30 (patch) | |
tree | 7351220a503a766d1aa62aec23609e6a8cb0a49e /Graphic_Equalizer/src | |
parent | cb7151b6531d091cb6f7e9a01d10c2bbdf6aaf52 (diff) | |
download | TASS-e0ddd606e20bbb7c574a21028130edf616383f30.zip TASS-e0ddd606e20bbb7c574a21028130edf616383f30.tar.gz TASS-e0ddd606e20bbb7c574a21028130edf616383f30.tar.bz2 |
fixed volume bar when toggling between audio player and normal mode
Diffstat (limited to 'Graphic_Equalizer/src')
-rw-r--r-- | Graphic_Equalizer/src/eventhandler.hcc | 77 |
1 files changed, 42 insertions, 35 deletions
diff --git a/Graphic_Equalizer/src/eventhandler.hcc b/Graphic_Equalizer/src/eventhandler.hcc index 5e9fa87..983f67b 100644 --- a/Graphic_Equalizer/src/eventhandler.hcc +++ b/Graphic_Equalizer/src/eventhandler.hcc @@ -65,7 +65,7 @@ inline void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedat unsigned 11 reference_point, reference_point_right; unsigned 10 preset_offset; unsigned 6 gain_counter; - unsigned 5 old_volume; + unsigned 5 old_volume, old_audio_player_volume; unsigned 5 volume; unsigned 4 gain; unsigned 4 index_offset, index_end; @@ -73,21 +73,21 @@ inline void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedat unsigned 1 newmaskupdate, eventupdate; macro proc set_mode(newmode) - {
-// print_eol();print_string("Be: ");print_hex_value(0@ events->mode); + { events->mode = (events->mode[4]) ? (newmode | EVENTS_MODE_AUDIO_PLAYER): newmode;
-// print_eol();print_string("af: ");print_hex_value(0@ events->mode); - }
-
+ } + audiodata->display_log = TRUE; events->image = IMAGE_SKIN; events->button_demo_state = FALSE; events->button_reset_state = FALSE; - events->saturated = FALSE;
- events->mode = 1;
+ events->saturated = FALSE; + events->mode = 1; events->locked_gain = FALSE; - volume = change_volume_from_coordinate(volumecontrol_table_inv[0x18], events, skindata); + volume = change_volume_from_coordinate(volumecontrol_table_inv[0x18], events, skindata);
+ old_audio_player_volume = volume;
+ old_volume = volume; gain = change_inputgain_from_coordinate(inputgain_table_inv[0xf], events, skindata); load_preset(LOAD_PRESET_RESET, equalizer_levels.write); reload_equalizer(events, &equalizer_levels.write[preset_offset]); @@ -226,7 +226,8 @@ inline void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedat * we point to 0, 128, 256, 384, 512 * or 640. */ - audiodata->equalizer_levels_ptr = &equalizer_levels.read[preset_offset]; /* + audiodata->equalizer_levels_ptr = &equalizer_levels.read[preset_offset]; + /* * Reload the equalizer bars * from our buffer into * the display memory. @@ -273,19 +274,25 @@ inline void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedat } if (BUTTON_INPUT_SELECT == events->mask) { - if(events->mode[4]) - {
- events->mode &= (~EVENTS_MODE_AUDIO_PLAYER); - change_volume_from_coordinate(volumecontrol_table_inv[volume], events, skindata);
- audiodata->player_state = PLAYER_DISABLED;
- events->locked_gain = FALSE;
- } - else - {
- events->mode |= EVENTS_MODE_AUDIO_PLAYER;
+ if (events->mode[4]) { + /* + * Disable the audio player + */ + events->mode &= (~EVENTS_MODE_AUDIO_PLAYER); + old_audio_player_volume = volume; + volume = old_volume; + change_volume_from_coordinate(volumecontrol_table_inv[volume], events, skindata); + audiodata->player_state = PLAYER_DISABLED; + events->locked_gain = FALSE; + } else { + /* + * Enable the audio player + */ + events->mode |= EVENTS_MODE_AUDIO_PLAYER; old_volume = volume; - change_volume_from_coordinate(volumecontrol_table_inv[0x18], events, skindata); - audiodata->player_state = PLAYING;
+ volume = old_audio_player_volume; + change_volume_from_coordinate(volumecontrol_table_inv[volume], events, skindata); + audiodata->player_state = PLAYING; events->locked_gain = TRUE; } } else { @@ -296,9 +303,9 @@ inline void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedat if ((BUTTON_PAUSE == events->mask) && (audiodata->player_state != STOPPED)) { if (PLAYING == audiodata->player_state) { - audiodata->player_state = PAUSED;
+ audiodata->player_state = PAUSED; } else { - audiodata->player_state = PLAYING;
+ audiodata->player_state = PLAYING; } } else { delay; @@ -311,20 +318,20 @@ inline void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedat } if (BUTTON_STOP == events->mask) { - audiodata->player_state = STOPPED;
+ audiodata->player_state = STOPPED; } else { delay; } if (BUTTON_NEXT_TRACK == events->mask) { - audiodata->player_state = NEXT_TRACK;
+ audiodata->player_state = NEXT_TRACK; events->next_track_state = TRUE; } else { delay; } if (BUTTON_PREV_TRACK == events->mask) { - audiodata->player_state = PREV_TRACK;
+ audiodata->player_state = PREV_TRACK; events->prev_track_state = TRUE; } else { delay; @@ -445,13 +452,13 @@ inline void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedat } if (BUTTON_RESET != events->mask) { events->button_reset_state = FALSE; - }
-
+ } + if (BUTTON_NEXT_TRACK != events->mask) { events->next_track_state = FALSE; - }
+ } - if (BUTTON_PREV_TRACK != events->mask) {
+ if (BUTTON_PREV_TRACK != events->mask) { events->prev_track_state = FALSE; } @@ -459,8 +466,8 @@ inline void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedat case MOUSE_STATE_ON_RELEASE: events->button_demo_state = FALSE; - events->button_reset_state = FALSE;
- events->next_track_state = FALSE;
+ events->button_reset_state = FALSE; + events->next_track_state = FALSE; events->prev_track_state = FALSE; break; @@ -478,8 +485,8 @@ inline void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedat * TODO: This table is now hardcoded. To ensure full skinability this table * should be dynamically loaded. */ -ram unsigned 5 volumecontrol_table[46] = {31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 22, 22, 21, 21, 20, 20, 19, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0}; -ram unsigned 11 volumecontrol_table_inv[32] = {111, 110, 108, 106, 105, 103, 102, 100, 99, 97, 96, 94, 93, 91, 90, 88, 87, 85, 84, 82, 81, 79, 78, 76, 75, 73, 72, 70, 69, 67, 66}; +ram unsigned 5 volumecontrol_table[46] = {31, 30, 30, 29, 28, 28, 27, 26, 25, 25, 24, 23, 23, 22, 21, 21, 20, 19, 19, 18, 17, 17, 16, 15, 14, 14, 13, 12, 12, 11, 10, 10, 9, 8, 8, 7, 6, 6, 5, 4, 3, 3, 2, 1, 1, 0}; +ram unsigned 11 volumecontrol_table_inv[32] = {111, 110, 108, 107, 104, 102, 101, 99, 98, 96, 95, 94, 92, 91, 89, 86, 85, 83, 82, 81, 79, 78, 76, 75, 73, 72, 70, 69, 67, 66}; ram unsigned 4 inputgain_table[46] = {15, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 9, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0, 0}; ram unsigned 11 inputgain_table_inv[16] = {111, 108, 105, 102, 99, 96, 93, 90, 87, 84, 81, 78, 75, 72, 69, 66}; |