diff --git a/CMakeLists.txt b/CMakeLists.txt index aaec462..7dab9d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,7 @@ pkg_check_modules(JACK jack>=0.118) SET(SOURCES client.cpp client.h + cvbase.h cvin.cpp cvin.h cvout.cpp diff --git a/cvbase.h b/cvbase.h new file mode 100644 index 0000000..63dd759 --- /dev/null +++ b/cvbase.h @@ -0,0 +1,31 @@ +#ifndef CVBASE_H +#define CVBASE_H + +#include "client.h" +#include "mapping.h" + +class CVBase : protected Client +{ +protected: + MappingList m_mapping_list; + bool m_ready; + tick_t m_tick; + + sample_t **m_buffers; + + MappingList::iterator m_it_begin; + MappingList::iterator m_it_end; + +public: + void add_mapping(Mapping m) + { + m_mapping_list.push_back(m); + } + + void stop() + { + close(); + } +}; + +#endif // CVBASE_H diff --git a/cvin.h b/cvin.h index b1a0b77..013bf60 100644 --- a/cvin.h +++ b/cvin.h @@ -1,36 +1,18 @@ #ifndef CVIN_H #define CVIN_H -#include "client.h" -#include "mapping.h" +#include "cvbase.h" -class CVIn : Client +class CVIn : public CVBase { private: - MappingList m_mapping_list; jack_port_t *m_midi_out; - bool m_ready; - tick_t m_tick; - - sample_t **m_buffers; - - MappingList::iterator m_it_begin; - MappingList::iterator m_it_end; void shutdown(); int process(jack_nframes_t nframes); public: - void add_mapping(Mapping m) - { - m_mapping_list.push_back(m); - } - void start(); - void stop() - { - close(); - } }; #endif // CVIN_H diff --git a/cvout.h b/cvout.h index 513229b..9b41e2e 100644 --- a/cvout.h +++ b/cvout.h @@ -1,20 +1,14 @@ -#include "client.h" -#include "mapping.h" +#ifndef CVOUT_H +#define CVOUT_H + +#include "cvbase.h" #define MAX_MIDI_CHANNELS 16 -class CVOut : Client +class CVOut : public CVBase { private: - MappingList m_mapping_list; jack_port_t *m_midi_in; - bool m_ready; - tick_t m_tick; - - sample_t **m_buffers; - - MappingList::iterator m_it_begin; - MappingList::iterator m_it_end; char m_nrpn_msb[MAX_MIDI_CHANNELS]; char m_nrpn_lsb[MAX_MIDI_CHANNELS]; @@ -24,15 +18,7 @@ private: int process(jack_nframes_t nframes); public: - void add_mapping(Mapping m) - { - m_mapping_list.push_back(m); - } - void start(); - void stop() - { - close(); - } }; +#endif // CVOUT_H