瀏覽代碼

libobs: Add obs_volmeter_get_cur_db function

cg2121 8 年之前
父節點
當前提交
14d330c455
共有 2 個文件被更改,包括 26 次插入0 次删除
  1. 24 0
      libobs/obs-audio-controls.c
  2. 2 0
      libobs/obs-audio-controls.h

+ 24 - 0
libobs/obs-audio-controls.c

@@ -804,3 +804,27 @@ void obs_volmeter_remove_callback(obs_volmeter_t *volmeter,
 	da_erase_item(volmeter->callbacks, &cb);
 	da_erase_item(volmeter->callbacks, &cb);
 	pthread_mutex_unlock(&volmeter->callback_mutex);
 	pthread_mutex_unlock(&volmeter->callback_mutex);
 }
 }
+
+float obs_volmeter_get_cur_db(enum obs_fader_type type, const float def)
+{
+	float db;
+
+	switch(type) {
+	case OBS_FADER_CUBIC:
+		db = cubic_def_to_db(def);
+		break;
+	case OBS_FADER_IEC:
+		db = iec_def_to_db(def);
+		break;
+	case OBS_FADER_LOG:
+		db = log_def_to_db(def);
+		break;
+	default:
+		goto fail;
+		break;
+	}
+
+	return db;
+fail:
+	return -INFINITY;
+}

+ 2 - 0
libobs/obs-audio-controls.h

@@ -251,6 +251,8 @@ EXPORT void obs_volmeter_add_callback(obs_volmeter_t *volmeter,
 EXPORT void obs_volmeter_remove_callback(obs_volmeter_t *volmeter,
 EXPORT void obs_volmeter_remove_callback(obs_volmeter_t *volmeter,
 		obs_volmeter_updated_t callback, void *param);
 		obs_volmeter_updated_t callback, void *param);
 
 
+EXPORT float obs_volmeter_get_cur_db(enum obs_fader_type type, const float def);
+
 #ifdef __cplusplus
 #ifdef __cplusplus
 }
 }
 #endif
 #endif