Merge branch 'master' of https://gitea.larke.org/klarke/libcw
This commit is contained in:
commit
f8971f90b1
17
cwEuCon.cpp
17
cwEuCon.cpp
@ -311,7 +311,8 @@ namespace cw
|
||||
};
|
||||
|
||||
struct eucon_str;
|
||||
|
||||
|
||||
// FBank object
|
||||
typedef struct fbank_str
|
||||
{
|
||||
struct eucon_str* eucon;
|
||||
@ -324,14 +325,14 @@ namespace cw
|
||||
uint32_t remoteAddr;
|
||||
} fbank_t;
|
||||
|
||||
// EuCon manager object
|
||||
typedef struct eucon_str
|
||||
{
|
||||
sock::handle_t sockMgrH; // socket mgr handle
|
||||
fbank_t* fbankL; // List of fader banks
|
||||
unsigned maxFaderBankN; // maximum number of fader banks
|
||||
unsigned sockTimeOutMs; // socket time out
|
||||
unsigned faderTcpPort; // Fader TCP port TODO: we shouuld be getting this from the MDNS SRV record
|
||||
|
||||
sock::handle_t sockMgrH; // socket mgr handle
|
||||
fbank_t* fbankL; // List of fader banks
|
||||
unsigned maxFaderBankN; // maximum number of fader banks
|
||||
unsigned sockTimeOutMs; // socket time out
|
||||
unsigned faderTcpPort; // Fader TCP port TODO: we shouuld be getting this from the MDNS SRV record
|
||||
} eucon_t;
|
||||
|
||||
inline eucon_t* _handleToPtr( handle_t h )
|
||||
@ -729,7 +730,7 @@ cw::rc_t cw::eucon::getMsgs( handle_t h, msgCallback_t cbFunc, void* cbArg )
|
||||
}
|
||||
|
||||
|
||||
cw::rc_t cw::eucon::sendCtlMsg( handle_t h, unsigned ctlTId, unsigned channel, unsigned ivalue, float fvalue )
|
||||
cw::rc_t cw::eucon::sendMsg( handle_t h, unsigned flags, unsigned channel, unsigned ivalue, float fvalue )
|
||||
{
|
||||
rc_t rc = kOkRC;
|
||||
//eucon_t* p = _handleToPtr(h);
|
||||
|
29
cwEuCon.h
29
cwEuCon.h
@ -35,19 +35,31 @@ namespace cw
|
||||
// for incoming information from the FaderBankArray.
|
||||
rc_t exec( handle_t h, unsigned sockTimeOutMs );
|
||||
|
||||
// Are messages waiting
|
||||
// Are messages from the physical control or from
|
||||
// from the EuCon controller waiting to be read
|
||||
// by the client application.
|
||||
bool areMsgsWaiting( handle_t h );
|
||||
|
||||
// msg flags
|
||||
enum
|
||||
{
|
||||
kFaderValueTId,
|
||||
kMuteValueTId,
|
||||
kTouchValueTId
|
||||
kWriteValueFl = 0,
|
||||
kReadValueFl = 1
|
||||
};
|
||||
|
||||
// msg tid
|
||||
enum
|
||||
{
|
||||
kFaderValueTId = 8, // set/get a fader value
|
||||
kMuteValueTId, // set/get a mute value
|
||||
kTouchValueTId, // set/get a touch value
|
||||
kSendStateTId // get the state of a channel
|
||||
};
|
||||
|
||||
|
||||
typedef struct msg_str
|
||||
{
|
||||
unsigned msgTId;
|
||||
unsigned flags;
|
||||
unsigned channel;
|
||||
union
|
||||
{
|
||||
@ -59,12 +71,13 @@ namespace cw
|
||||
|
||||
typedef void (*msgCallback_t)( void* cbArg, const msg_t* msg );
|
||||
|
||||
// Switches the internal double buffer and calls back with the parsed messages.
|
||||
// Callback with messages for the client application.
|
||||
rc_t getMsgs( handle_t h, msgCallback_t cbFunc, void* cbArg );
|
||||
|
||||
|
||||
// Send a message to a physical control
|
||||
rc_t sendCtlMsg( handle_t h, unsigned ctlTId, unsigned channel, unsigned ivalue, float fvalue );
|
||||
// Send a message to the EuCon manager or to a physical control.
|
||||
// Note that flags is formed by <msgTId> | <msgFlags>
|
||||
rc_t sendMsg( handle_t h, unsigned flags, unsigned channel, unsigned ivalue, float fvalue );
|
||||
|
||||
|
||||
rc_t test();
|
||||
|
@ -480,6 +480,7 @@ cw::rc_t cw::object_t::value( int64_t& v ) const { return type->value(this,kInt
|
||||
cw::rc_t cw::object_t::value( uint64_t& v ) const { return type->value(this,kUInt64TId,&v); }
|
||||
cw::rc_t cw::object_t::value( float& v ) const { return type->value(this,kFloatTId,&v); }
|
||||
cw::rc_t cw::object_t::value( double& v ) const { return type->value(this,kDoubleTId,&v); }
|
||||
cw::rc_t cw::object_t::value( bool& v ) const { return type->value(this,kBoolTId,&v); }
|
||||
cw::rc_t cw::object_t::value( char*& v ) const { return type->value(this,kStringTId,&v); }
|
||||
cw::rc_t cw::object_t::value( const char*& v ) const { return type->value(this,kCStringTId,&v); }
|
||||
|
||||
|
@ -126,6 +126,7 @@ namespace cw
|
||||
rc_t value( uint64_t& v ) const;
|
||||
rc_t value( float& v ) const;
|
||||
rc_t value( double& v ) const;
|
||||
rc_t value( bool& v ) const;
|
||||
rc_t value( char*& v ) const;
|
||||
rc_t value( const char*& v ) const;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user