diff --git a/falcon9_decoder/src/main.cpp b/falcon9_decoder/src/main.cpp index b58de445..70be0e79 100644 --- a/falcon9_decoder/src/main.cpp +++ b/falcon9_decoder/src/main.cpp @@ -36,8 +36,6 @@ SDRPP_MOD_INFO { #define INPUT_SAMPLE_RATE 6000000 -std::ofstream file("test.ts", std::ios::binary); - class Falcon9DecoderModule : public ModuleManager::Instance { public: Falcon9DecoderModule(std::string name) { @@ -197,8 +195,8 @@ private: _this->logsMtx.unlock(); } else if (pktId == 0x01123201042E1403) { - //fwrite(data + 25, 1, 940, _this->ffplay); - file.write((char*)(data + 25), 940); + fwrite(data + 25, 1, 940, _this->ffplay); + //file.write((char*)(data + 25), 940); } //printf("%016" PRIX64 ": %d bytes, %d full\n", pktId, length, count); diff --git a/recorder/src/main.cpp b/recorder/src/main.cpp index 4c61997e..8bfbe917 100644 --- a/recorder/src/main.cpp +++ b/recorder/src/main.cpp @@ -50,7 +50,7 @@ public: RecorderModule(std::string name) : folderSelect("%ROOT%/recordings") { this->name = name; - recPath = "%ROOT%/recording"; + recPath = "%ROOT%/recordings"; // Init audio path vol.init(&dummyStream, 1.0f); @@ -161,13 +161,18 @@ private: if (!pathValid) { style::beginDisabled(); } if (!recording) { if (ImGui::Button(CONCAT("Record##_recorder_rec_", name), ImVec2(menuColumnWidth, 0))) { - recording = true; samplesWritten = 0; std::string expandedPath = expandString(recPath + genFileName("/baseband_", false)); sampleRate = sigpath::signalPath.getSampleRate(); basebandWriter = new WavWriter(expandedPath, 16, 2, sigpath::signalPath.getSampleRate()); - basebandHandler.start(); - sigpath::signalPath.bindIQStream(&basebandStream); + if (basebandWriter->isOpen()) { + basebandHandler.start(); + sigpath::signalPath.bindIQStream(&basebandStream); + recording = true; + } + else { + spdlog::error("Could not create '{0}'", expandedPath); + } } ImGui::TextColored(ImGui::GetStyleColorVec4(ImGuiCol_Text), "Idle --:--:--"); } @@ -214,13 +219,18 @@ private: if (!pathValid || selectedStreamName == "") { style::beginDisabled(); } if (!recording) { if (ImGui::Button(CONCAT("Record##_recorder_rec_", name), ImVec2(menuColumnWidth, 0))) { - recording = true; samplesWritten = 0; std::string expandedPath = expandString(recPath + genFileName("/audio_", true, selectedStreamName)); sampleRate = sigpath::sinkManager.getStreamSampleRate(selectedStreamName); audioWriter = new WavWriter(expandedPath, 16, 2, sigpath::sinkManager.getStreamSampleRate(selectedStreamName)); - audioHandler.start(); - audioSplit.bindStream(&audioHandlerStream); + if (audioWriter->isOpen()) { + recording = true; + audioHandler.start(); + audioSplit.bindStream(&audioHandlerStream); + } + else { + spdlog::error("Could not create '{0}'", expandedPath); + } } ImGui::TextColored(ImGui::GetStyleColorVec4(ImGuiCol_Text), "Idle --:--:--"); } diff --git a/recorder/src/wav.h b/recorder/src/wav.h index 7bf9ac8a..4b10885f 100644 --- a/recorder/src/wav.h +++ b/recorder/src/wav.h @@ -26,6 +26,10 @@ public: file.write((char*)&hdr, sizeof(WavHeader_t)); } + bool isOpen() { + return file.is_open(); + } + void writeSamples(void* data, size_t size) { file.write((char*)data, size); bytesWritten += size;