hydrogen 1.2.3
LashClient Class Reference

#include <LashClient.h>

Public Member Functions

 LashClient (const char *lashClass, const char *viewName, int *argc, char ***argv)
 
 ~LashClient ()
 
lash_client_t * getConnection ()
 
lash_event_t * getNextEvent ()
 
bool isConnected ()
 
bool isNewProject ()
 
void sendAlsaClientId ()
 
void sendEvent (LASH_Event_Type eventType)
 
void sendEvent (LASH_Event_Type eventType, const char *value)
 
void sendJackClientName ()
 
void setAlsaClientId (unsigned char id)
 
void setJackClientName (const std::string &jackClientName)
 Set the name of the JACK client by modifying jackClientName.
 
void setNewProject (bool value)
 

Static Public Member Functions

static void create_instance (const char *lashClass, const char *viewName, int *argc, char ***argv)
 static reference of LashClient class (Singleton)
 
static LashClientget_instance ()
 

Private Attributes

unsigned char alsaClientId
 
std::string jackClientName
 Name of the external JACK client Hydrogen is using to communicate with the JACK server.
 
lash_client_t * lashClient
 
bool newProject
 

Static Private Attributes

static LashClient__instance = nullptr
 

Detailed Description

Definition at line 36 of file LashClient.h.

Constructor & Destructor Documentation

◆ LashClient()

LashClient ( const char * lashClass,
const char * viewName,
int * argc,
char *** argv )

Definition at line 49 of file LashClient.cpp.

◆ ~LashClient()

~LashClient ( )

Definition at line 66 of file LashClient.cpp.

Member Function Documentation

◆ create_instance()

void create_instance ( const char * lashClass,
const char * viewName,
int * argc,
char *** argv )
static

static reference of LashClient class (Singleton)

Definition at line 41 of file LashClient.cpp.

◆ get_instance()

static LashClient * get_instance ( )
inlinestatic

Definition at line 39 of file LashClient.h.

◆ getConnection()

lash_client_t * getConnection ( )

Definition at line 87 of file LashClient.cpp.

◆ getNextEvent()

lash_event_t * getNextEvent ( )

Definition at line 92 of file LashClient.cpp.

◆ isConnected()

bool isConnected ( )

Definition at line 71 of file LashClient.cpp.

◆ isNewProject()

bool isNewProject ( )

Definition at line 82 of file LashClient.cpp.

◆ sendAlsaClientId()

void sendAlsaClientId ( )

Definition at line 128 of file LashClient.cpp.

◆ sendEvent() [1/2]

void sendEvent ( LASH_Event_Type eventType)

Definition at line 98 of file LashClient.cpp.

◆ sendEvent() [2/2]

void sendEvent ( LASH_Event_Type eventType,
const char * value )

Definition at line 103 of file LashClient.cpp.

◆ sendJackClientName()

void sendJackClientName ( )

Definition at line 118 of file LashClient.cpp.

◆ setAlsaClientId()

void setAlsaClientId ( unsigned char id)

Definition at line 123 of file LashClient.cpp.

◆ setJackClientName()

void setJackClientName ( const std::string & jackClientName)

Set the name of the JACK client by modifying jackClientName.

Called in H2Core::JackAudioDriver::init() after successfully opening a client session.

Definition at line 113 of file LashClient.cpp.

◆ setNewProject()

void setNewProject ( bool value)

Definition at line 77 of file LashClient.cpp.

Field Documentation

◆ __instance

LashClient * __instance = nullptr
staticprivate

Definition at line 82 of file LashClient.h.

◆ alsaClientId

unsigned char alsaClientId
private

Definition at line 81 of file LashClient.h.

◆ jackClientName

std::string jackClientName
private

Name of the external JACK client Hydrogen is using to communicate with the JACK server.

It can be modified via setJackClientName().

Definition at line 80 of file LashClient.h.

◆ lashClient

lash_client_t* lashClient
private

Definition at line 74 of file LashClient.h.

◆ newProject

bool newProject
private

Definition at line 73 of file LashClient.h.