Add API to get version information (#2309)
This commit is contained in:
@@ -17,6 +17,7 @@ export 'src/online_stream.dart';
|
||||
export 'src/speaker_identification.dart';
|
||||
export 'src/tts.dart';
|
||||
export 'src/vad.dart';
|
||||
export 'src/version.dart';
|
||||
export 'src/wave_reader.dart';
|
||||
export 'src/wave_writer.dart';
|
||||
|
||||
|
||||
@@ -1250,6 +1250,15 @@ typedef SherpaOnnxFreeWaveNative = Void Function(Pointer<SherpaOnnxWave>);
|
||||
|
||||
typedef SherpaOnnxFreeWave = void Function(Pointer<SherpaOnnxWave>);
|
||||
|
||||
typedef SherpaOnnxGetVersionStr = Pointer<Utf8> Function();
|
||||
typedef SherpaOnnxGetVersionStrNative = SherpaOnnxGetVersionStr;
|
||||
|
||||
typedef SherpaOnnxGetGitSha1Native = Pointer<Utf8> Function();
|
||||
typedef SherpaOnnxGetGitSha1 = SherpaOnnxGetGitSha1Native;
|
||||
|
||||
typedef SherpaOnnxGetGitDateNative = Pointer<Utf8> Function();
|
||||
typedef SherpaOnnxGetGitDate = SherpaOnnxGetGitDateNative;
|
||||
|
||||
class SherpaOnnxBindings {
|
||||
static SherpaOnnxCreateOfflineSpeechDenoiser?
|
||||
sherpaOnnxCreateOfflineSpeechDenoiser;
|
||||
@@ -1459,6 +1468,10 @@ class SherpaOnnxBindings {
|
||||
|
||||
static SherpaOnnxFreeWave? freeWave;
|
||||
|
||||
static SherpaOnnxGetVersionStr? getVersionStr;
|
||||
static SherpaOnnxGetGitSha1? getGitSha1;
|
||||
static SherpaOnnxGetGitDate? getGitDate;
|
||||
|
||||
static void init(DynamicLibrary dynamicLibrary) {
|
||||
sherpaOnnxCreateOfflineSpeechDenoiser ??= dynamicLibrary
|
||||
.lookup<NativeFunction<SherpaOnnxCreateOfflineSpeechDenoiserNative>>(
|
||||
@@ -2050,5 +2063,20 @@ class SherpaOnnxBindings {
|
||||
freeWave ??= dynamicLibrary
|
||||
.lookup<NativeFunction<SherpaOnnxFreeWaveNative>>('SherpaOnnxFreeWave')
|
||||
.asFunction();
|
||||
|
||||
getVersionStr ??= dynamicLibrary
|
||||
.lookup<NativeFunction<SherpaOnnxGetVersionStrNative>>(
|
||||
'SherpaOnnxGetVersionStr')
|
||||
.asFunction();
|
||||
|
||||
getGitSha1 ??= dynamicLibrary
|
||||
.lookup<NativeFunction<SherpaOnnxGetGitSha1Native>>(
|
||||
'SherpaOnnxGetGitSha1')
|
||||
.asFunction();
|
||||
|
||||
getGitDate ??= dynamicLibrary
|
||||
.lookup<NativeFunction<SherpaOnnxGetGitDateNative>>(
|
||||
'SherpaOnnxGetGitDate')
|
||||
.asFunction();
|
||||
}
|
||||
}
|
||||
|
||||
31
flutter/sherpa_onnx/lib/src/version.dart
Normal file
31
flutter/sherpa_onnx/lib/src/version.dart
Normal file
@@ -0,0 +1,31 @@
|
||||
// Copyright (c) 2025 Xiaomi Corporation
|
||||
import 'dart:ffi';
|
||||
import 'package:ffi/ffi.dart';
|
||||
import './sherpa_onnx_bindings.dart';
|
||||
|
||||
String getVersion() {
|
||||
Pointer<Utf8> version = SherpaOnnxBindings.getVersionStr?.call() ?? nullptr;
|
||||
if (version == nullptr) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return version.toDartString();
|
||||
}
|
||||
|
||||
String getGitSha1() {
|
||||
Pointer<Utf8> gitSha1 = SherpaOnnxBindings.getGitSha1?.call() ?? nullptr;
|
||||
if (gitSha1 == nullptr) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return gitSha1.toDartString();
|
||||
}
|
||||
|
||||
String getGitDate() {
|
||||
Pointer<Utf8> gitDate = SherpaOnnxBindings.getGitDate?.call() ?? nullptr;
|
||||
if (gitDate == nullptr) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return gitDate.toDartString();
|
||||
}
|
||||
Reference in New Issue
Block a user