Then you can use your local codec-dev, something like:
-$ cmake -DBOOTSTRAP_WXWIDGETS=TRUE -DCODEC2_INCLUDE_DIRS=/home/david/codec2-dev/src -DCODEC2_LIBRARY=/home/david/codec2-dev/build_linux/src/libcodec2.so -DUSE_STATIC_CODEC2=FALSE -DUSE_STATIC_PORTAUDIO=TRUE -DUSE_STATIC_SOX=TRUE ../
+$ cmake -DCMAKE_BUILD_TYPE=Debug -DBOOTSTRAP_WXWIDGETS=TRUE -DCODEC2_INCLUDE_DIRS=/home/david/codec2-dev/src -DCODEC2_LIBRARY=/home/david/codec2-dev/build_linux/src/libcodec2.so -DUSE_STATIC_CODEC2=FALSE -DUSE_STATIC_PORTAUDIO=TRUE -DUSE_STATIC_SOX=TRUE ../
OR build a local copy of codec2-dev:
(function (lambda ()
(setq c-basic-offset 4)
)))
+====
+TODO
+====
+
+[ ] FreeDV 700 mode
+ [ ] Playfile bug
+ [ ] integrate freedv API
+ [ ] add 700 to freedv API
+ [ ] how to handle Fs=7500 Hz?
+ [ ] test mode
+ + how to plot error histogram
+[ ] Small fixes
+ [ ] long varicode default
+ [ ] option to _not_ require checksum
+ [ ] Waterfall direction
+ [ ] bump ver number
+[ ] Presence/spotting hooks
#define SAMPLE_RATE 48000 // 48 kHz sampling rate rec. as we can trust accuracy of sound card
#define N8 FDMDV_NOM_SAMPLES_PER_FRAME // processing buffer size at 8 kHz
#define MEM8 (FDMDV_OS_TAPS/FDMDV_OS)
-#define N48 (N8*FDMDV_OS) // processing buffer size at 48 kHz
+#define N48 (N8*SAMPLE_RATE/FS) // processing buffer size at 48 kHz
#define NUM_CHANNELS 2 // I think most sound cards prefer stereo we will convert to mono
#define VOX_TONE_FREQ 1000.0 // optional left channel vox tone freq
#define VOX_TONE_AMP 30000 // optional left channel vox tone amp
//-------------------------------------------------------------------------
// OnPlayFileFromRadio()
-// This puppy "plays" a recorded file into the denmonulator input, allowing us
+// This puppy "plays" a recorded file into the demodulator input, allowing us
// to replay off air signals.
//-------------------------------------------------------------------------
void MainFrame::OnPlayFileFromRadio(wxCommandEvent& event)
g_loopPlayFileFromRadio = static_cast<MyExtraPlayFilePanel*>(ctrl)->getLoopPlayFileToMicIn();
SetStatusText(wxT("Playing File: ") + fileName + wxT(" into From Radio") , 0);
+ printf("OnPlayFileFromRadio:: Playing File\n");
g_playFileFromRadio = true;
}
}
SRC_DATA src_data;
float input[N48*2];
float output[N48*2];
+ int ret;
assert(src != NULL);
assert(length_input_short <= N48*2);
src_data.end_of_input = 0;
src_data.src_ratio = (float)output_sample_rate/input_sample_rate;
- src_process(src, &src_data);
+ ret = src_process(src, &src_data);
+ assert(ret == 0);
assert(src_data.output_frames_gen <= length_output_short);
src_float_to_short_array(output, output_short, src_data.output_frames_gen);
g_mutexProtectingCallbackData.Lock();
if (g_playFileFromRadio && (g_sfPlayFileFromRadio != NULL)) {
- int n = sf_read_short(g_sfPlayFileFromRadio, in8k_short, n8k);
- if (n != N8) {
+ unsigned int n = sf_read_short(g_sfPlayFileFromRadio, in8k_short, n8k);
+ if (n != n8k) {
if (g_loopPlayFileFromRadio)
sf_seek(g_sfPlayFileFromRadio, 0, SEEK_SET);
else {
#define FREEDV_VER_DOT_H 1
#define FREEDV_VERSION_MAJOR 0
-#define FREEDV_VERSION_MINOR 97
-#define FREEDV_VERSION_PATCH 1
+#define FREEDV_VERSION_MINOR 98
+#define FREEDV_VERSION_PATCH 0
#define FREEDV_VERSION_SUFFIX "Beta"
-#define FREEDV_VERSION "0.97.1 Beta"
+#define FREEDV_VERSION "0.98.0 Beta"
#endif //FREEDV_VER_DOT_H