mirror of
https://github.com/soukoku/ntwain.git
synced 2026-02-25 13:04:07 +08:00
Added rest of audio triplets.
This commit is contained in:
40
src/NTwain/Triplets/Audio/AudioFileXfer.cs
Normal file
40
src/NTwain/Triplets/Audio/AudioFileXfer.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using NTwain.Data;
|
||||
using NTwain.Internals;
|
||||
using System;
|
||||
|
||||
namespace NTwain.Triplets.Audio
|
||||
{
|
||||
sealed class AudioFileXfer : BaseTriplet
|
||||
{
|
||||
internal AudioFileXfer(TwainSession session) : base(session) { }
|
||||
|
||||
public ReturnCode Get()
|
||||
{
|
||||
IntPtr zero = IntPtr.Zero;
|
||||
if (Is32Bit)
|
||||
{
|
||||
if (IsWin)
|
||||
return NativeMethods.DsmWin32(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioFileXfer, Message.Get, ref zero);
|
||||
if (IsLinux)
|
||||
return NativeMethods.DsmLinux32(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioFileXfer, Message.Get, ref zero);
|
||||
if (IsMac)
|
||||
return NativeMethods.DsmMac32(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioFileXfer, Message.Get, ref zero);
|
||||
}
|
||||
|
||||
if (IsWin)
|
||||
return NativeMethods.DsmWin64(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioFileXfer, Message.Get, ref zero);
|
||||
if (IsLinux)
|
||||
return NativeMethods.DsmLinux64(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioFileXfer, Message.Get, ref zero);
|
||||
if (IsMac)
|
||||
return NativeMethods.DsmMac64(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioFileXfer, Message.Get, ref zero);
|
||||
|
||||
return ReturnCode.Failure;
|
||||
}
|
||||
}
|
||||
}
|
||||
39
src/NTwain/Triplets/Audio/AudioNativeXfer.cs
Normal file
39
src/NTwain/Triplets/Audio/AudioNativeXfer.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using NTwain.Data;
|
||||
using NTwain.Internals;
|
||||
using System;
|
||||
|
||||
namespace NTwain.Triplets.Audio
|
||||
{
|
||||
sealed class AudioNativeXfer : BaseTriplet
|
||||
{
|
||||
internal AudioNativeXfer(TwainSession session) : base(session) { }
|
||||
|
||||
public ReturnCode Get(ref IntPtr handle)
|
||||
{
|
||||
if (Is32Bit)
|
||||
{
|
||||
if (IsWin)
|
||||
return NativeMethods.DsmWin32(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioNativeXfer, Message.Get, ref handle);
|
||||
if (IsLinux)
|
||||
return NativeMethods.DsmLinux32(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioNativeXfer, Message.Get, ref handle);
|
||||
if (IsMac)
|
||||
return NativeMethods.DsmMac32(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioNativeXfer, Message.Get, ref handle);
|
||||
}
|
||||
|
||||
if (IsWin)
|
||||
return NativeMethods.DsmWin64(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioNativeXfer, Message.Get, ref handle);
|
||||
if (IsLinux)
|
||||
return NativeMethods.DsmLinux64(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioNativeXfer, Message.Get, ref handle);
|
||||
if (IsMac)
|
||||
return NativeMethods.DsmMac64(Session.Config.App32, Session.CurrentSource.Identity32,
|
||||
DataGroups.Audio, DataArgumentType.AudioNativeXfer, Message.Get, ref handle);
|
||||
|
||||
return ReturnCode.Failure;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,11 +10,17 @@ namespace NTwain.Triplets
|
||||
/// <summary>
|
||||
/// Represents <see cref="DataGroups.Audio"/>.
|
||||
/// </summary>
|
||||
public partial class DGAudio : BaseTriplet
|
||||
partial class DGAudio : BaseTriplet
|
||||
{
|
||||
internal DGAudio(TwainSession session) : base(session) { }
|
||||
|
||||
|
||||
AudioFileXfer _fileXfer;
|
||||
internal AudioFileXfer AudioFileXfer => _fileXfer ?? (_fileXfer = new AudioFileXfer(Session));
|
||||
|
||||
AudioInfo _info;
|
||||
internal AudioInfo AudioInfo => _info ?? (_info = new AudioInfo(Session));
|
||||
|
||||
AudioNativeXfer _natXfer;
|
||||
internal AudioNativeXfer AudioNativeXfer => _natXfer ?? (_natXfer = new AudioNativeXfer(Session));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,6 +247,7 @@ namespace NTwain
|
||||
// some DS returns none but we will assume it's image
|
||||
xferImage = xferGroup == DataGroups.None || (xferGroup & DataGroups.Image) == DataGroups.Image;
|
||||
}
|
||||
// TODO: restore this
|
||||
if (xferImage)
|
||||
{
|
||||
//imgXferMech = CurrentSource.Capabilities.ICapXferMech.GetCurrent();
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace NTwain
|
||||
/// <summary>
|
||||
/// Gets the triplet operations defined for audio data group.
|
||||
/// </summary>
|
||||
public DGAudio DGAudio => dgAudio ?? (dgAudio = new DGAudio(this));
|
||||
DGAudio DGAudio => dgAudio ?? (dgAudio = new DGAudio(this));
|
||||
|
||||
///// <summary>
|
||||
///// Gets/sets the direct triplet operation entry for custom values.
|
||||
|
||||
Reference in New Issue
Block a user