diff options
Diffstat (limited to 'include/avsys-audio-logical-volume.h')
-rw-r--r-- | include/avsys-audio-logical-volume.h | 62 |
1 files changed, 41 insertions, 21 deletions
diff --git a/include/avsys-audio-logical-volume.h b/include/avsys-audio-logical-volume.h index 1b4ad52..e20f896 100644 --- a/include/avsys-audio-logical-volume.h +++ b/include/avsys-audio-logical-volume.h @@ -31,22 +31,37 @@ #define FADE_UP_MULTIPLIER 1//2 #define FADE_DOWN_MULTIPLIER 1 -#define VOLUME_FILE_PATH "/opt/system/volume.txt" +#define AVSYS_VOLUME_INI_DEFAULT_PATH "/usr/etc/mmfw_audio_volume.ini" +#define AVSYS_VOLUME_INI_TEMP_PATH "/opt/system/mmfw_audio_volume.ini" -enum -{ +enum { AVSYS_AUDIO_LVOL_GAIN_TYPE_0 = 0, /* system */ AVSYS_AUDIO_LVOL_GAIN_TYPE_1, /* notification */ AVSYS_AUDIO_LVOL_GAIN_TYPE_2, /* alarm */ AVSYS_AUDIO_LVOL_GAIN_TYPE_3, /* ringtone */ AVSYS_AUDIO_LVOL_GAIN_TYPE_4, /* media */ AVSYS_AUDIO_LVOL_GAIN_TYPE_5, /* call */ - AVSYS_AUDIO_LVOL_GAIN_TYPE_6, /* android */ - AVSYS_AUDIO_LVOL_GAIN_TYPE_7, /* java */ - AVSYS_AUDIO_LVOL_GAIN_TYPE_8, /* music (media2) */ + AVSYS_AUDIO_LVOL_GAIN_TYPE_6, /* voip */ + AVSYS_AUDIO_LVOL_GAIN_TYPE_7, /* android */ + AVSYS_AUDIO_LVOL_GAIN_TYPE_8, /* java */ AVSYS_AUDIO_LVOL_GAIN_TYPE_MAX, }; +enum { + AVSYS_AUDIO_LVOL_GAIN_EXT_DIALER = 1<<8, + AVSYS_AUDIO_LVOL_GAIN_EXT_TOUCH = 2<<8, + AVSYS_AUDIO_LVOL_GAIN_EXT_AF = 3<<8, + AVSYS_AUDIO_LVOL_GAIN_EXT_SHUTTER1 = 4<<8, + AVSYS_AUDIO_LVOL_GAIN_EXT_SHUTTER2 = 5<<8, + AVSYS_AUDIO_LVOL_GAIN_EXT_CAMCORDING = 6<<8, + AVSYS_AUDIO_LVOL_GAIN_EXT_MIDI = 7<<8, + AVSYS_AUDIO_LVOL_GAIN_EXT_BOOTING = 8<<8, + AVSYS_AUDIO_LVOL_GAIN_EXT_VIDEO = 9<<8, + AVSYS_AUDIO_LVOL_GAIN_EXT_VIDEO_HDMI = 10<<8, + AVSYS_AUDIO_LVOL_GAIN_EXT_TYPE_MAX, + AVSYS_AUDIO_LVOL_GAIN_EXT_TYPE_MAX_IDX = AVSYS_AUDIO_LVOL_GAIN_EXT_TYPE_MAX>>8 +}; + enum { AVSYS_AUDIO_LVOL_DEV_TYPE_SPK, @@ -55,33 +70,38 @@ enum AVSYS_AUDIO_LVOL_DEV_TYPE_MAX, }; - typedef struct { - int max_len; - avsys_audio_volume_t gain[LVOLUME_MAX_MULTIMEDIA]; -} avsys_a_logical_volume_t; + struct { + int max_level; + avsys_audio_volume_t logical_values[LVOLUME_MAX_MULTIMEDIA]; + } devices[AVSYS_AUDIO_LVOL_DEV_TYPE_MAX]; +} avsys_audio_lvol_volume_info_t; +typedef struct { + float devices[AVSYS_AUDIO_LVOL_DEV_TYPE_MAX]; +} avsys_audio_lvol_gain_info_t; typedef struct { - int type; - avsys_a_logical_volume_t devices[AVSYS_AUDIO_LVOL_DEV_TYPE_MAX]; -} avsys_logical_gain_t; + avsys_audio_lvol_volume_info_t volume_table[AVSYS_AUDIO_LVOL_GAIN_TYPE_MAX]; + avsys_audio_lvol_gain_info_t gain_table[AVSYS_AUDIO_LVOL_GAIN_EXT_TYPE_MAX_IDX]; +} avsys_audio_lvol_info_t; typedef struct { - int vol_type; + int volume_config; int dev_type; - int max_len; - avsys_audio_volume_t *table; + int max_level; } avsys_audio_volume_setting_t; -int avsys_audio_logical_volume_get_max(int vol_type, int dev_type, int *max); -int avsys_audio_logical_volume_set_table(int vol_type, int dev_type, avsys_audio_volume_setting_t *setting); +int avsys_audio_logical_volume_get_max(int volume_type, int dev_type, int *max_level); +int avsys_audio_logical_volume_set_table(int volume_config, int dev_type, avsys_audio_volume_setting_t *setting); int avsys_audio_logical_volume_update_table(int dev_type, avsys_audio_volume_setting_t *setting); int avsys_audio_logical_volume_convert(avsys_audio_volume_t *level, avsys_audio_volume_t *converted, avsys_audio_volume_setting_t *setting); /* Tuning */ int avsys_audio_logical_volume_init(void); -int avsys_audio_logical_volume_set_to_table(int gain_type, int dev_type, int step, int lv, int rv); -int avsys_audio_logical_volume_get_from_table(int gain_type, int dev_type, int step, int *lv, int *rv); -int avsys_audio_load_volume_from_file(void); +int avsys_audio_logical_volume_set_to_table(int volume_type, int dev_type, int step, int lv, int rv); +int avsys_audio_logical_volume_get_from_table(int volume_type, int dev_type, int step, int *lv, int *rv); +int avsys_audio_logical_volume_set_gain_to_table(int volume_gain, int dev_type, float lv, float rv); +int avsys_audio_logical_volume_get_gain_from_table(int volume_gain, int dev_type, float*lv, float *rv); +int avsys_audio_load_volume_from_ini(void); #endif /* __AVSYS_AUDIO_LOGICAL_VOLUME_H__ */ |