Add method to set and get volume thresholds

This commit is contained in:
Flamefire committed 2014-04-29 22:18:57 +02:00
1 parent 0e2b968072
commit 6913a1f7b9
3 files changed
+41 -2

No files matched your search

+10
View File
@@ -96,6 +96,16 @@ namespace Vocaluxe.Base
return _Record.GetMaxVolume(player); return _Record.GetMaxVolume(player);
} }
public static float GetVolumeThreshold(int player)
{
return _Record.GetVolumeThreshold(player);
}
public static void SetVolumeThreshold(int player, float threshold)
{
_Record.SetVolumeThreshold(player, threshold);
}
public static int NumHalfTones(int player) public static int NumHalfTones(int player)
{ {
return _Record.NumHalfTones(); return _Record.NumHalfTones();
+15 -2
View File
@@ -5,7 +5,7 @@ using Vocaluxe.Base;
namespace Vocaluxe.Lib.Sound.Record namespace Vocaluxe.Lib.Sound.Record
{ {
/// <summary> /// <summary>
/// Base class to implement common functionality for Record classes /// Base class to implement common functionality for Record classes
/// </summary> /// </summary>
abstract class CRecordBase abstract class CRecordBase
{ {
@@ -53,7 +53,7 @@ namespace Vocaluxe.Lib.Sound.Record
} }
/// <summary> /// <summary>
/// Procedure to be called by descendent classes with data that got recorded /// Procedure to be called by descendent classes with data that got recorded
/// </summary> /// </summary>
/// <param name="device">Device from which the data was recorded</param> /// <param name="device">Device from which the data was recorded</param>
/// <param name="data">Recorded samples, assume Int16 and interleaved for multi-channels</param> /// <param name="data">Recorded samples, assume Int16 and interleaved for multi-channels</param>
@@ -125,6 +125,19 @@ namespace Vocaluxe.Lib.Sound.Record
return _Initialized ? _Buffer[player].MaxVolume : 0f; return _Initialized ? _Buffer[player].MaxVolume : 0f;
} }
public float GetVolumeThreshold(int player)
{
return _Initialized ? _Buffer[player].VolTreshold : 0f;
}
public void SetVolumeThreshold(int player, float threshold)
{
if (!_Initialized)
return;
_Buffer[player].VolTreshold = threshold;
}
public bool ToneValid(int player) public bool ToneValid(int player)
{ {
return _Initialized && _Buffer[player].ToneValid; return _Initialized && _Buffer[player].ToneValid;
+16
View File
@@ -118,6 +118,22 @@ namespace Vocaluxe.Lib.Sound.Record
/// <returns>Maximum volume between 0 and 1</returns> /// <returns>Maximum volume between 0 and 1</returns>
float GetMaxVolume(int player); float GetMaxVolume(int player);
/// <summary>
/// Gets the treshold for detecting silence
/// Value (0-1) for which everything below is considered silence
/// <param name="player">0-based player index</param>
/// <returns>Threshold</returns>
/// </summary>
float GetVolumeThreshold(int player);
/// <summary>
/// Sets the treshold for detecting silence
/// Value (0-1) for which everything below is considered silence
/// <param name="player">0-based player index</param>
/// <param name="threshold">Threshold</param>
/// </summary>
void SetVolumeThreshold(int player, float threshold);
/// <summary> /// <summary>
/// Returns whether the current tone is valid. That includes, if maximum volume is higher than the threshold /// Returns whether the current tone is valid. That includes, if maximum volume is higher than the threshold
/// </summary> /// </summary>