public string PlayStartOption = "-N-1";
public string PlayStopOption = "-S";
// public ViewerSoundType SoundType = ( FDK.COS.bIsVistaOrLater ) ? ViewerSoundType.WASAPI : ViewerSoundType.DirectSound;
- public FDK.ESoundDeviceType SoundType = ( FDK.COS.bIsVistaOrLater ) ? FDK.ESoundDeviceType.ExclusiveWASAPI : FDK.ESoundDeviceType.DirectSound;
+ public FDK.ESoundDeviceType SoundType = ( FDK.COS.bIsVistaOrLater() ) ? FDK.ESoundDeviceType.ExclusiveWASAPI : FDK.ESoundDeviceType.DirectSound;
public int ASIODeviceNo = 0;
public bool GRmode;
public bool TimeStretch;
PlayStartOption = "-N-1";
PlayStopOption = "-S";
//SoundType = (FDK.COS.bIsVistaOrLater)? ViewerSoundType.WASAPI : ViewerSoundType.DirectSound;
- SoundType = ( FDK.COS.bIsVistaOrLater ) ?
- ( ( FDK.COS.bIsWin10OrLater ) ? FDK.ESoundDeviceType.SharedWASAPI : FDK.ESoundDeviceType.ExclusiveWASAPI )
+ SoundType = ( FDK.COS.bIsVistaOrLater() ) ?
+ ( ( FDK.COS.bIsWin10OrLater() ) ? FDK.ESoundDeviceType.SharedWASAPI : FDK.ESoundDeviceType.ExclusiveWASAPI )
: FDK.ESoundDeviceType.DirectSound;
ASIODeviceNo = 0;
GRmode = false;
this.formメインフォーム.appアプリ設定.ViewerInfo.bViewerIsDTXV = cオプションダイアログ.radioButton_UseDTXViewer.Checked;
//AppSetting.ViewerSoundType vst = ( FDK.COS.bIsVistaOrLater ) ? AppSetting.ViewerSoundType.WASAPI : AppSetting.ViewerSoundType.DirectSound;
- FDK.ESoundDeviceType vst = ( FDK.COS.bIsVistaOrLater ) ? FDK.ESoundDeviceType.ExclusiveWASAPI : FDK.ESoundDeviceType.DirectSound;
+ FDK.ESoundDeviceType vst = ( FDK.COS.bIsVistaOrLater() ) ? FDK.ESoundDeviceType.ExclusiveWASAPI : FDK.ESoundDeviceType.DirectSound;
if ( cオプションダイアログ.radioButton_DirectSound.Checked )
{
//vst = AppSetting.ViewerSoundType.DirectSound;
bDynamicBassMixerManagement = new COptionBool(true);
bTimeStretch = new COptionBool(false);
nSoundDeviceType = new COptionEnum<ESoundDeviceTypeForConfig>(
- FDK.COS.bIsVistaOrLater ?
- (FDK.COS.bIsWin10OrLater? ESoundDeviceTypeForConfig.WASAPI_Shared : ESoundDeviceTypeForConfig.WASAPI_Exclusive)
+ FDK.COS.bIsVistaOrLater() ?
+ (FDK.COS.bIsWin10OrLater()? ESoundDeviceTypeForConfig.WASAPI_Shared : ESoundDeviceTypeForConfig.WASAPI_Exclusive)
: ESoundDeviceTypeForConfig.DSound
);
bForceHighPowerPlan = new COptionBool( false );
/// OSがXP以前ならfalse, Vista以降ならtrueを返す
/// </summary>
/// <returns></returns>
- public static bool bIsVistaOrLater
+ public static bool bIsVistaOrLater()
{
- get
- {
- return bCheckOSVersion(6, 0);
- }
+ return bCheckOSVersion(6, 0);
}
/// <summary>
/// OSがVista以前ならfalse, Win7以降ならtrueを返す
/// </summary>
/// <returns></returns>
- public static bool bIsWin7OrLater
+ public static bool bIsWin7OrLater()
{
- get
- {
- return bCheckOSVersion(6, 1);
- }
+ return bCheckOSVersion(6, 1);
}
/// <summary>
/// OSがWin7以前ならfalse, Win8以降ならtrueを返す
/// </summary>
/// <returns></returns>
- public static bool bIsWin8OrLater
+ public static bool bIsWin8OrLater()
{
- get
- {
- return bCheckOSVersion(6, 2);
- }
+ return bCheckOSVersion(6, 2);
+ }
+ /// <summary>
+ /// OSがWin10以前ならfalse, Win10以降ならtrueを返す
+ /// </summary>
+ /// <returns></returns>
+ public static bool bIsWin10OrLater()
+ {
+ return bCheckOSVersion(10, 0);
}
/// <summary>
- /// OSがWin8.1以前ならfalse, Win10以降ならtrueを返す
+ /// OSがWin10以降、かつ指定build以降ならtrueを返す
/// </summary>
/// <returns></returns>
- public static bool bIsWin10OrLater
+ public static bool bIsWin10OrLater(WIN10BUILD build)
{
- get
+ if (bCheckOSVersion(10, 0))
{
- return bCheckOSVersion(10, 0);
+ if ( GetWin10BuildNumber() >= build )
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
}
+ else
+ {
+ return false;
+ };
}
RS1 = 14393,
RS2 = 15063,
RS3 = 16299,
- UNKNOWN = 999999,
+ UNKNOWN = -1,
NOTWIN10 = 0
}
private static WIN10BUILD GetWin10BuildNumber()
Retry:
var flags = (mode == Eデバイスモード.排他) ? BASSWASAPIInit.BASS_WASAPI_AUTOFORMAT | BASSWASAPIInit.BASS_WASAPI_EXCLUSIVE : BASSWASAPIInit.BASS_WASAPI_AUTOFORMAT;
//var flags = ( mode == Eデバイスモード.排他 ) ? BASSWASAPIInit.BASS_WASAPI_AUTOFORMAT | BASSWASAPIInit.BASS_WASAPI_EVENT | BASSWASAPIInit.BASS_WASAPI_EXCLUSIVE : BASSWASAPIInit.BASS_WASAPI_AUTOFORMAT | BASSWASAPIInit.BASS_WASAPI_EVENT;
- if ( COS.bIsWin7OrLater && CSound管理.bSoundUpdateByEventWASAPI )
+ if ( COS.bIsWin7OrLater() && CSound管理.bSoundUpdateByEventWASAPI )
{
flags |= BASSWASAPIInit.BASS_WASAPI_EVENT; // Win7以降の場合は、WASAPIをevent drivenで動作させてCPU負荷減、レイテインシ改善
}
}
}
- if (COS.bIsWin10OrLater && (mode == Eデバイスモード.共有)) // Win10 low latency shared mode support
+ if (COS.bIsWin10OrLater() && (mode == Eデバイスモード.共有)) // Win10 low latency shared mode support
{
// バッファ自動設定をユーザーが望む場合は、periodを最小値にする。さもなくば、バッファサイズとしてユーザーが指定した値を、periodとして用いる。
if (n希望バッファサイズms == 0)