summaryrefslogtreecommitdiff
path: root/include/avsys-audio-logical-volume.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/avsys-audio-logical-volume.h')
-rw-r--r--include/avsys-audio-logical-volume.h62
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__ */