view src/ui/bmi/AUITextEntry.h @ 275:79cfefc1e2b4

audio mode load: gracefully handle mode files of wrong AEC version Unfortunately our change of enabling L1_NEW_AEC (which is necessary in order to bring our Calypso ARM fw into match with the underlying DSP reality) brings along a change in the audio mode file binary format and file size - all those new tunable AEC parameters do need to be stored somewhere, after all. But we already have existing mode files in the old format, and setting AEC config to garbage when loading old audio modes (which is what would happen without the present change) is not an appealing proposition. The solution implemented in the present change is as follows: the audio mode loading code checks the file size, and if it differs from the active version of T_AUDIO_MODE, the T_AUDIO_AEC_CFG structure is cleared - set to the default (disabled AEC) for the compiled type of AEC. We got lucky in that this varying T_AUDIO_AEC_CFG structure sits at the end of T_AUDIO_MODE!
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 30 Jul 2021 02:55:48 +0000
parents cbd9aaba48db
children
line wrap: on
line source

#ifndef AUITEXTENTRY_H
#define AUITEXTENTRY_H

/* Key entry information*/

typedef struct
{
    T_MFW_HND           win;                /* The editor window */
    U32                 update;             /* Event to be sent to the window to update it */
    T_ED_DATA           *editor;            /* Pointer to editor data */
    UBYTE               Level;              /* Alpha level selected     */
    UBYTE               Key;                /* Alpha mode current key   */
    T_MFW_HND           editTim;            /* The timer for multi-tap */
}
T_AUI_ENTRY_DATA;


T_AUI_ENTRY_DATA    *AUI_entry_Create(T_MFW_HND win, T_ED_DATA *editor, U32 update);
void                AUI_entry_Destroy(T_AUI_ENTRY_DATA *entry_data);
USHORT              AUI_entry_EditChar (T_AUI_ENTRY_DATA *entry_data, USHORT alphachar, BOOL multitap);
USHORT              AUI_entry_EditDigit (T_AUI_ENTRY_DATA *entry_data, UBYTE code);
USHORT              AUI_entry_EventKey (T_AUI_ENTRY_DATA *entry_data, MfwEvt event, MfwKbd *key);
USHORT              AUI_entry_GetKeyChar(T_AUI_ENTRY_DATA *entry_data, T_ED_CASE_PREF casePref);
void                AUI_entry_StopMultitap(T_AUI_ENTRY_DATA *entry_data);
#endif