vumeter funcionando, hay que comparar la salida con un vumeter que sepa
que funciona bien y definir los parámetros de ventanas, picos y demás. Se insertan en la cadena de audio porque no veo la forma de hacerlo en paralelo https://github.com/mackron/miniaudio/issues/850
This commit is contained in:
parent
200dcf86d4
commit
53bcb38455
12 changed files with 165 additions and 23 deletions
|
|
@ -8,6 +8,10 @@ extern "C" {
|
|||
|
||||
#include "miniaudio.h"
|
||||
|
||||
/*
|
||||
* writer
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ma_node_config nodeConfig;
|
||||
|
|
@ -46,6 +50,33 @@ ma_result ma_data_source_rb_get_length(ma_data_source* pDataSource, ma_uint64* p
|
|||
ma_result ma_data_source_rb_init(ma_data_source_rb* pMyDataSource, ma_pcm_rb *ringBuffer);
|
||||
void ma_data_source_rb_uninit(ma_data_source_rb* pMyDataSource);
|
||||
|
||||
|
||||
/*
|
||||
* VU meter
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
ma_node_config nodeConfig;
|
||||
ma_uint32 channels;
|
||||
ma_uint32 sampleRate;
|
||||
} ma_vumeter_node_config;
|
||||
|
||||
MA_API ma_vumeter_node_config ma_vumeter_node_config_init(ma_uint32 channels, ma_uint32 sampleRate);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ma_node_base baseNode;
|
||||
ma_uint32 channels;
|
||||
ma_uint32 sampleRate;
|
||||
float level;
|
||||
float TC;
|
||||
float alpha;
|
||||
} ma_vumeter_node;
|
||||
|
||||
MA_API ma_result ma_vumeter_node_init(ma_node_graph* pNodeGraph, const ma_vumeter_node_config* pConfig, const ma_allocation_callbacks* pAllocationCallbacks, ma_vumeter_node* pVumeterNode);
|
||||
MA_API void ma_vumeter_node_uninit(ma_vumeter_node* pVumeterNode, const ma_allocation_callbacks* pAllocationCallbacks);
|
||||
MA_API inline float ma_vumeter_node_get_level(ma_vumeter_node* pVumeterNode) { return 5 * pVumeterNode->level; };
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue