Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
VABase
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Analytics
Analytics
Code Review
Insights
Issue
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Institute of Technical Acoustics (ITA)
VABase
Commits
48bd0ca1
Commit
48bd0ca1
authored
Oct 12, 2017
by
Dipl.-Ing. Jonas Stienen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Minor fixes and more doxy comments
parent
8eec2da0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
86 additions
and
7 deletions
+86
-7
include/VAInterface.h
include/VAInterface.h
+86
-7
No files found.
include/VAInterface.h
View file @
48bd0ca1
...
...
@@ -29,6 +29,22 @@ class VABASE_API IVAEventHandler;
class
VABASE_API
IVAAudioSignalSource
;
//! Interface of the VA
/**
* This mostly abstract interface to VA describes all relevant functions and methods
* that have to be implemented to comply with a VA controller instance or core instance.
*
* The VACore will implement all these methods. The VANet library will wrap and transmit
* methods and data classes to make the VA interface completely transparent through a network
* connection using TCP/IP. All binding classes provide similar named methods in the script
* language fashion and can use the networked connection or an internal core.
*
* There are a lot of prototyping methods using CVAStruct, an associative container for any
* kind of value.
*
* Events can be propagated to event handlers (including network clients) and help to detect
* core changes and updates.
*
*/
class
VABASE_API
IVAInterface
{
public:
...
...
@@ -193,13 +209,13 @@ public:
//! Detaches a handler for core events from the core instance
/**
* @oaram[in] pEventHandler Event handler pointer
* @oaram[in] pEventHandler Event handler pointer
* @note Detaching event handlers it always possible,
* regardless of the state of the core.
* This method can therefore be called anytime,
* also before initialization and after finalization.
*
*
\
note When the method returns, it is guaranteed that the handler will not
*
@
note When the method returns, it is guaranteed that the handler will not
* receive any further core events and may safely be destroyed.
*/
virtual
void
DetachEventHandler
(
IVAEventHandler
*
pEventHandler
)
=
0
;
...
...
@@ -448,15 +464,78 @@ public:
oParams
[
"filepath"
]
=
sFilePath
;
return
CreateGeometryMeshFromParameters
(
oParams
,
sName
);
};
//! Delete a geometry mesh
/**
* @param[in] iID Geometry mesh identifier
*
* @return True if mesh could be removed
*/
virtual
bool
DeleteGeometryMesh
(
const
int
iID
)
=
0
;
//! Get a geometry mesh from identifeir
/**
* @param[in] iID Geometry mesh identifier
*
* @return Geometry mesh
*/
virtual
CVAGeometryMesh
GetGeometryMesh
(
const
int
iID
)
const
=
0
;
//! Get geometry mesh ids
/**
* @param[out] viID All available geometry mesh identifiers
*
*/
virtual
void
GetGeometryMeshIDs
(
std
::
vector
<
int
>&
viIDs
)
const
=
0
;
//! Delete a geometry mesh
/**
* @param[in] iID Geometry mesh identifier
* @param[in] sName Geometry mesh verbatim name
*
* @return True if mesh could be removed
*/
virtual
void
SetGeometryMeshName
(
const
int
iID
,
const
std
::
string
&
sName
)
=
0
;
//! Geometry mesh name getter
/**
* @param[in] iID Geometry mesh identifier
*
* @return Verbatim name
*/
virtual
std
::
string
GetGeometryMeshName
(
const
int
iID
)
const
=
0
;
//! Geometry mesh parameter setter
/**
* @param[in] iID Geometry mesh identifier
* @param[in] oParams Geometry mesh magic parameters
*
* @return True if mesh could be removed
*/
virtual
void
SetGeometryMeshParameters
(
const
int
iID
,
const
CVAStruct
&
oParams
)
=
0
;
//! Geometry mesh parameter getter
/**
* @param[in] iID Geometry mesh identifier
* @param[in] oParams Geometry mesh magic parameter request
*
* @return Magic parameters
*/
virtual
CVAStruct
GetGeometryMeshParameters
(
const
int
iID
,
const
CVAStruct
&
oParams
)
const
=
0
;
//! Geometry mesh enabled setter
/**
* @param[in] iID Geometry mesh identifier
* @param[in] bEnabled If true, sets enabled, if false geo mesh is disabled
*/
virtual
void
SetGeometryMeshEnabled
(
const
int
iID
,
const
bool
bEnabled
=
true
)
=
0
;
//! Geometry mesh enabled getter
/**
* @param[in] iID Geometry mesh identifier
*
* @return True if mesh is enabled, false otherwise
*/
virtual
bool
GetGeometryMeshEnabled
(
const
int
iID
)
const
=
0
;
...
...
@@ -495,13 +574,15 @@ public:
oParams
[
"samples"
][
"ch1"
]
=
oSamples
;
return
CreateSignalSourceBufferFromParameters
(
oParams
,
sName
);
};
virtual
std
::
string
CreateSignalSourceBufferMultichannelFromSamples
(
const
std
::
vector
<
CVASampleBuffer
>&
voSamples
,
const
std
::
string
&
sName
=
""
)
inline
std
::
string
CreateSignalSourceBufferMultichannelFromSamples
(
const
std
::
vector
<
CVASampleBuffer
>&
voSamples
,
const
std
::
string
&
sName
=
""
)
{
CVAStruct
oParams
;
for
(
size_t
i
=
0
;
i
<
voSamples
.
size
();
i
++
)
oParams
[
"samples"
][
"ch"
+
std
::
to_string
(
long
(
i
+
1
)
)
]
=
voSamples
[
i
];
return
CreateSignalSourceBufferFromParameters
(
oParams
,
sName
);
};
virtual
std
::
string
CreateSignalSourceBufferFromParameters
(
const
CVAStruct
&
oParams
,
const
std
::
string
&
sName
=
""
)
=
0
;
//! Creates a text-to-speech (TTS) signal source
...
...
@@ -736,9 +817,7 @@ public:
oParams
[
"value"
]
=
sFilePath
;
SetSignalSourceParameters
(
sSignalSourceID
,
oParams
);
};
// TODO: AlterSoundPlayback?
//! Set parameters for a signal source
/**
* This method sets parameters of a signal source. Behavior depends on type and
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment