set(CMAKE_C_FLAGS, ${Param.c-flags})
set(Compile.sources
+ source/audio_input.cpp
+ source/audio_output.cpp
+ source/audio_sink.cpp
+ source/driver_manager.cpp
+ source/keying.cpp
+ source/keying_sink.cpp
source/main.cpp
+ source/ptt_input.cpp
+ source/text_input.cpp
+ source/tone.cpp
+ source/user_interface.cpp
)
add_executable(freedv-server ${Compile.sources})
--- /dev/null
+#include "drivers.h"
+#include <iostream>
+
+// Audio output "sink", discards the audio, for testing.
+
+namespace FreeDV {
+ class AudioSink : public AudioOutput {
+ public:
+
+ AudioSink(const char *);
+ ~AudioSink();
+
+ // Get the current audio level, normalized to the range of 0.0 to 1.0.
+ float level();
+
+ // Set the current audio level within the range of 0.0 to 1.0.
+ float level(float value);
+
+ // Write audio into the "short" type.
+ size_t write_short(short * array, size_t length);
+ };
+
+ AudioSink::AudioSink(const char *)
+ {
+ }
+
+ AudioSink::~AudioSink()
+ {
+ }
+
+ float
+ AudioSink::level()
+ {
+ return 0;
+ }
+
+ float
+ AudioSink::level(float value)
+ {
+ return value;
+ }
+
+ // Write audio into the "short" type.
+ size_t
+ AudioSink::write_short(short * array, size_t length)
+ {
+ return 0;
+ }
+
+ static AudioOutput *
+ creator(const char * parameter)
+ {
+ return new AudioSink(parameter);
+ }
+
+ static bool
+ initializer()
+ {
+ driver_manager.register_audio_output("sink", creator);
+ return true;
+ }
+ static const bool initialized = initializer();
+};
--- /dev/null
+#include "drivers.h"
+#include <iostream>
+
+// Keying output "sink", doesn't key anything. For testing or use with VOX.
+namespace FreeDV {
+ class KeyingSink : public Keying {
+ public:
+
+ KeyingSink(const char *);
+ ~KeyingSink();
+
+ void key(bool value);
+
+ };
+
+ KeyingSink::KeyingSink(const char *)
+ {
+ }
+
+ KeyingSink::~KeyingSink()
+ {
+ }
+
+ void
+ KeyingSink::key(bool value)
+ {
+ }
+
+
+ static Keying *
+ creator(const char * parameter)
+ {
+ return new KeyingSink(parameter);
+ }
+
+ static bool
+ initializer()
+ {
+ driver_manager.register_keying("sink", creator);
+ return true;
+ }
+ static const bool initialized = initializer();
+};