[webftr-js8-lab] command=clone-audit [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T084314Z_clone-audit.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T084314Z_clone-audit_manifest.json [webftr-js8-lab] utc=20260527T084314Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] clone/audit destination: /decoders/js8_decoder/runtime/src/JS8Call-improved [webftr-js8-lab] cloning JS8Call-Improved... Cloning into '/decoders/js8_decoder/runtime/src/JS8Call-improved'... [webftr-js8-lab] running source audit [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T084314Z_clone_audit_output.json [webftr-js8-lab] JSON timeout guard: 180s { "ok": true, "source_dir": "/decoders/js8_decoder/runtime/src/JS8Call-improved", "scanned_files": 542, "ranked_results": [ { "path": "vendor/sqlite3/sqlite3.c", "score": 10570, "hits": { "decode": 159, "decoder": 6, "sync": 882, "unpack": 190, "symbol": 145, "soft": 93, "wav": 5, "message": 317 }, "sample_lines": [ { "line": 822, "text": "#define SQLITE_IOERR_FSYNC (SQLITE_IOERR | (4<<8))" }, { "line": 823, "text": "#define SQLITE_IOERR_DIR_FSYNC (SQLITE_IOERR | (5<<8))" }, { "line": 1017, "text": "** CAPI3REF: Synchronization Type Flags" }, { "line": 1019, "text": "** When SQLite invokes the xSync() method of an" }, { "line": 1023, "text": "** When the SQLITE_SYNC_DATAONLY flag is used, it means that the" }, { "line": 1024, "text": "** sync operation only needs to flush data to mass storage. Inode" } ] }, { "path": "JS8_UI/mainwindow.cpp", "score": 7772, "hits": { "js8": 337, "decode": 293, "decoder": 104, "sync": 11, "ft8": 1, "jt9": 1, "fsk": 1, "symbol": 6, "snr": 68, "wav": 1, "message": 448 }, "sample_lines": [ { "line": 3, "text": "* @brief source file that implements the JS8Call user interface" }, { "line": 5, "text": "* all functionality of the JS8call main window" }, { "line": 20, "text": "int volatile itone[JS8_NUM_SYMBOLS]; // Audio tones for all Tx symbols" }, { "line": 106, "text": "// JS8_Mainwindow/UI_Constructor.cpp" }, { "line": 349, "text": "m_decoder.quit();" }, { "line": 380, "text": "m_settings->setValue(\"SubModeHB\", ui->actionModeJS8HB->isChecked());" } ] }, { "path": "JS8_Mode/JS8.cpp", "score": 4014, "hits": { "js8": 111, "decode": 142, "decoder": 36, "sync": 120, "ldpc": 23, "ft8": 1, "symbol": 37, "soft": 8, "snr": 14, "wav": 4, "message": 41, "filename:js8": 1 }, "sample_lines": [ { "line": 2, "text": "* @file JS8.cpp" }, { "line": 3, "text": "* @brief Implementation of JS8 encoding and decoding functions" }, { "line": 8, "text": "#include \"JS8.h\"" }, { "line": 9, "text": "#include \"JS8_Include/commons.h\"" }, { "line": 10, "text": "#include \"JS8_Mode/FrequencyTracker.h\"" }, { "line": 11, "text": "#include \"JS8_Mode/whitening_processor.h\"" } ] }, { "path": "JS8_JSC/JSC_list.cpp", "score": 1916, "hits": { "js8": 6, "decode": 6, "decoder": 2, "sync": 73, "ldpc": 1, "unpack": 5, "ft8": 1, "fsk": 14, "symbol": 21, "soft": 168, "snr": 5, "wav": 109, "message": 22 }, "sample_lines": [ { "line": 5, "text": "* This file is part of JS8Call." }, { "line": 16249, "text": "{\"VSYNC\", 5, 146064}," }, { "line": 21073, "text": "{\"UUDECODE\", 8, 212134}," }, { "line": 23617, "text": "{\"UNPACKS\", 7, 238679}," }, { "line": 23618, "text": "{\"UNPACKING\", 9, 69270}," }, { "line": 23619, "text": "{\"UNPACKED\", 8, 92955}," } ] }, { "path": "JS8_JSC/JSC_map.cpp", "score": 1916, "hits": { "js8": 6, "decode": 6, "decoder": 2, "sync": 73, "ldpc": 1, "unpack": 5, "ft8": 1, "fsk": 14, "symbol": 21, "soft": 168, "snr": 5, "wav": 109, "message": 22 }, "sample_lines": [ { "line": 5, "text": "* This file is part of JS8Call." }, { "line": 95, "text": "{\"\\\\\", 1, 68}, // FYI: this used to be FT8 in JS8 1.0" }, { "line": 96, "text": "{\"\\n\", 1, 69}, // FYI: this used to be \"\\\" in JS8 1.0" }, { "line": 97, "text": "{\"JS8\", 3, 70}," }, { "line": 98, "text": "{\"JS8CALL\", 7, 71}," }, { "line": 100, "text": "72}, // FYI: this used to be JSQSO in JS8 1.0, it is now a substitute flag" } ] }, { "path": "JS8_Mainwindow/processDecodeEvent.cpp", "score": 1670, "hits": { "js8": 36, "decode": 118, "decoder": 4, "sync": 14, "ft8": 1, "jt9": 1, "snr": 19, "message": 36, "filename:decode": 1 }, "sample_lines": [ { "line": 5, "text": "* process decoded text" }, { "line": 8, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 10, "text": "void UI_Constructor::processDecodeEvent(JS8::Event::Variant const &event) {" }, { "line": 12, "text": "static qint32 syncStart = -1;" }, { "line": 18, "text": "if constexpr (std::is_same_v) {" }, { "line": 19, "text": "if (m_wideGraph->shouldDisplayDecodeAttempts()) {" } ] }, { "path": "JS8_UI/mainwindow.h", "score": 1487, "hits": { "js8": 87, "decode": 33, "decoder": 11, "symbol": 2, "snr": 9, "message": 114 }, "sample_lines": [ { "line": 5, "text": "#include \"JS8_Audio/AudioDevice.h\"" }, { "line": 6, "text": "#include \"JS8_Audio/NotificationAudio.h\"" }, { "line": 7, "text": "#include \"JS8_Audio/SoundInput.h\"" }, { "line": 8, "text": "#include \"JS8_Audio/SoundOutput.h\"" }, { "line": 9, "text": "#include \"JS8_Include/EventFilter.h\"" }, { "line": 10, "text": "#include \"JS8_Include/commons.h\"" } ] }, { "path": "JS8_Main/Varicode.cpp", "score": 1394, "hits": { "js8": 55, "decode": 8, "unpack": 76, "ft8": 2, "snr": 34, "message": 67 }, "sample_lines": [ { "line": 9, "text": "#include \"JS8_JSC/JSC.h\"" }, { "line": 10, "text": "#include \"JS8_Mode/DecodedText.h\"" }, { "line": 24, "text": "Q_DECLARE_LOGGING_CATEGORY(varicode_js8)" }, { "line": 29, "text": "// for FT8 freetext" }, { "line": 221, "text": "{\"@JS8NET\", nbasecall + 3}, // JS8NET group" }, { "line": 265, "text": "{\"@JS8\", nbasecall + 35}, // JS8 GROUP" } ] }, { "path": "CMakeLists.txt", "score": 1311, "hits": { "js8": 125, "decode": 2, "symbol": 1, "soft": 1, "message": 18 }, "sample_lines": [ { "line": 4, "text": "# JS8Call Build:" }, { "line": 38, "text": "set(CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/../js8libs)" }, { "line": 60, "text": "JS8Call" }, { "line": 68, "text": "set(PROJECT_HOMEPAGE https://groups.io/g/js8call)" }, { "line": 91, "text": "# define in js8call_config.h.in, which makes them available to the C/C++" }, { "line": 220, "text": "JS8CALL_VERSION=\\\"${PROJECT_VERSION}\\\"" } ] }, { "path": "JS8_UI/Configuration.cpp", "score": 1131, "hits": { "js8": 71, "sync": 12, "soft": 1, "snr": 12, "wav": 3, "message": 144 }, "sample_lines": [ { "line": 134, "text": "#include \"JS8_Include/Maidenhead.h\"" }, { "line": 135, "text": "#include \"JS8_Include/SettingsGroup.h\"" }, { "line": 136, "text": "#include \"JS8_Include/pimpl_impl.h\"" }, { "line": 137, "text": "#include \"JS8_Main/Bands.h\"" }, { "line": 138, "text": "#include \"JS8_Main/CallsignValidator.h\"" }, { "line": 139, "text": "#include \"JS8_Main/CandidateKeyFilter.h\"" } ] }, { "path": "vendor/Eigen/src/Core/arch/AVX512/PacketMath.h", "score": 980, "hits": { "unpack": 140 }, "sample_lines": [ { "line": 169, "text": "struct unpacket_traits {" }, { "line": 177, "text": "struct unpacket_traits {" }, { "line": 183, "text": "struct unpacket_traits {" }, { "line": 190, "text": "struct unpacket_traits {" }, { "line": 1108, "text": "__m512 T0 = _mm512_unpacklo_ps(kernel.packet[0], kernel.packet[1]);" }, { "line": 1109, "text": "__m512 T1 = _mm512_unpackhi_ps(kernel.packet[0], kernel.packet[1]);" } ] }, { "path": "JS8_Mode/DecodedText.cpp", "score": 887, "hits": { "js8": 20, "decode": 42, "decoder": 2, "unpack": 22, "snr": 7, "message": 32, "filename:decode": 1 }, "sample_lines": [ { "line": 2, "text": "* @file DecodedText.cpp" }, { "line": 3, "text": "* @brief Implementation of DecodedText class" }, { "line": 6, "text": "#include \"DecodedText.h\"" }, { "line": 7, "text": "#include \"JS8_Include/commons.h\"" }, { "line": 8, "text": "#include " }, { "line": 17, "text": "// Quality level below which we'll consider a decode to be suspect;" } ] }, { "path": "JS8_Mainwindow/UI_Constructor.cpp", "score": 881, "hits": { "js8": 43, "decode": 15, "decoder": 8, "snr": 1, "message": 132 }, "sample_lines": [ { "line": 4, "text": "* constructs and connects UI elements to the JS8 \"engine\"" }, { "line": 7, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 8, "text": "#include \"JS8_UI/styles.h\"" }, { "line": 29, "text": "m_rigErrorMessageBox{JS8MessageBox::Critical, tr(\"Rig Control Error\")," }, { "line": 30, "text": "JS8MessageBox::Cancel | JS8MessageBox::Ok |" }, { "line": 31, "text": "JS8MessageBox::Retry}," } ] }, { "path": "JS8_Mode/JS8Submode.cpp", "score": 871, "hits": { "js8": 51, "decode": 6, "symbol": 32, "snr": 11, "filename:js8": 1 }, "sample_lines": [ { "line": 2, "text": "* @file JS8Submode.cpp" }, { "line": 3, "text": "* @brief Implementation of JS8 submode parameter inquiry functions" }, { "line": 5, "text": "#include \"JS8Submode.h\"" }, { "line": 6, "text": "#include \"JS8_Include/commons.h\"" }, { "line": 7, "text": "#include \"JS8_Main/Varicode.h\"" }, { "line": 17, "text": "Q_DECLARE_LOGGING_CATEGORY(js8submode_js8)" } ] }, { "path": "JS8_Mainwindow/networkMessage.cpp", "score": 827, "hits": { "js8": 33, "decode": 13, "decoder": 13, "snr": 5, "message": 125, "filename:message": 1 }, "sample_lines": [ { "line": 9, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 13, "text": "* This function acts as the primary router for the JS8Call API. It handles" }, { "line": 28, "text": "qCDebug(mainwindow_js8) << \"try processing network message\" << type << id;" }, { "line": 108, "text": "\"JS8\", // mode" }, { "line": 112, "text": "m_decoderBusy, // decoding (match WSJT-X: decoder busy only)" }, { "line": 158, "text": "// STATION refers to JS8Call station settings" } ] }, { "path": "vendor/sqlite3/shell.c", "score": 812, "hits": { "decode": 18, "sync": 55, "symbol": 17, "soft": 2, "message": 95 }, "sample_lines": [ { "line": 1110, "text": "static int decodeUtf8(const unsigned char *z, int *pU){" }, { "line": 1146, "text": "int len = decodeUtf8(&a[i], &u);" }, { "line": 1180, "text": "int len = decodeUtf8(a+i, &u);" }, { "line": 5273, "text": "/* Decode base64 text into a byte buffer. */" }, { "line": 5292, "text": "/* Treat dark non-digits as pad, but they terminate decode too. */" }, { "line": 5456, "text": "** (aka \"group\") length maps 1-to-1 to the decoded binary length." } ] }, { "path": "vendor/Eigen/src/Core/arch/SSE/PacketMath.h", "score": 798, "hits": { "unpack": 114 }, "sample_lines": [ { "line": 84, "text": "EIGEN_STRONG_INLINE Packet4f vec4f_unpacklo(const Packet4f& a, const Packet4f& b)" }, { "line": 86, "text": "return Packet4f(_mm_unpacklo_ps(a,b));" }, { "line": 88, "text": "EIGEN_STRONG_INLINE Packet4f vec4f_unpackhi(const Packet4f& a, const Packet4f& b)" }, { "line": 90, "text": "return Packet4f(_mm_unpackhi_ps(a,b));" }, { "line": 98, "text": "EIGEN_STRONG_INLINE Packet2d vec2d_unpacklo(const Packet2d& a, const Packet2d& b)" }, { "line": 100, "text": "return Packet2d(_mm_unpacklo_pd(a,b));" } ] }, { "path": "JS8_Mode/Decoder.cpp", "score": 784, "hits": { "js8": 8, "decode": 32, "decoder": 32, "filename:decode": 1, "filename:decoder": 1 }, "sample_lines": [ { "line": 2, "text": "* @file Decoder.cpp" }, { "line": 3, "text": "* @brief Implementation of the JS8 decoder and worker classes" }, { "line": 7, "text": "#include \"Decoder.h\"" }, { "line": 8, "text": "#include \"JS8_Include/commons.h\"" }, { "line": 13, "text": "Q_DECLARE_LOGGING_CATEGORY(decoder_js8)" }, { "line": 18, "text": "Decoder::Decoder(QObject * parent)" } ] }, { "path": "JS8_UDP/WSJTXMessageClient.cpp", "score": 739, "hits": { "js8": 21, "decode": 14, "sync": 1, "snr": 8, "message": 181, "filename:message": 1 }, "sample_lines": [ { "line": 2, "text": "* @brief WSJT-X compatible message client for JS8Call" }, { "line": 5, "text": "* communication. It allows JS8Call to send and receive messages compatible" }, { "line": 8, "text": "* Based on WSJT-X MessageClient but adapted for JS8Call." }, { "line": 12, "text": "#include \"JS8_Include/pimpl_impl.h\"" }, { "line": 13, "text": "#include \"JS8_Main/qt_helpers.h\"" }, { "line": 34, "text": "Q_LOGGING_CATEGORY(wsjtx_js8, \"wsjtx.js8\", QtWarningMsg)" } ] }, { "path": "tools/tracking_diag.cpp", "score": 727, "hits": { "js8": 25, "decode": 36, "decoder": 13, "sync": 1, "symbol": 1, "snr": 19, "message": 8 }, "sample_lines": [ { "line": 1, "text": "// Diagnostic harness for JS8 frequency/timing tracking." }, { "line": 3, "text": "// runs the decoder twice (tracking disabled vs enabled), and prints outcomes." }, { "line": 10, "text": "// fftw_mutex) that JS8.cpp expects." }, { "line": 11, "text": "// - Tracking is controlled via env vars: JS8_DISABLE_FREQ_TRACKING," }, { "line": 12, "text": "// JS8_DISABLE_TIMING_TRACKING." }, { "line": 30, "text": "#include \"JS8_Include/commons.h\"" } ] }, { "path": "JS8_UI/WideGraph.cpp", "score": 611, "hits": { "js8": 18, "decode": 22, "sync": 35, "message": 5 }, "sample_lines": [ { "line": 8, "text": "#include \"JS8_Include/EventFilter.h\"" }, { "line": 9, "text": "#include \"JS8_Include/SettingsGroup.h\"" }, { "line": 10, "text": "#include \"JS8_Main/DriftingDateTime.h\"" }, { "line": 11, "text": "#include \"JS8_Main/JS8MessageBox.h\"" }, { "line": 12, "text": "#include \"JS8_Main/Varicode.h\"" }, { "line": 28, "text": "Q_DECLARE_LOGGING_CATEGORY(widegraph_js8)" } ] }, { "path": "JS8_Include/commons.h", "score": 602, "hits": { "js8": 40, "decode": 18, "sync": 4, "symbol": 6 }, "sample_lines": [ { "line": 11, "text": "#define JS8_NSPS 6192" }, { "line": 12, "text": "#define JS8_NSMAX 6827" }, { "line": 13, "text": "#define JS8_NTMAX 60" }, { "line": 14, "text": "#define JS8_RX_SAMPLE_RATE 12000" }, { "line": 15, "text": "#define JS8_RX_SAMPLE_SIZE (JS8_NTMAX * JS8_RX_SAMPLE_RATE)" }, { "line": 17, "text": "#define JS8_RING_BUFFER 1 // use a ring buffer instead of clearing the decode frames" } ] }, { "path": "vendor/sqlite3/sqlite3.h", "score": 571, "hits": { "sync": 51, "symbol": 8, "soft": 25, "message": 37 }, "sample_lines": [ { "line": 503, "text": "#define SQLITE_IOERR_FSYNC (SQLITE_IOERR | (4<<8))" }, { "line": 504, "text": "#define SQLITE_IOERR_DIR_FSYNC (SQLITE_IOERR | (5<<8))" }, { "line": 698, "text": "** CAPI3REF: Synchronization Type Flags" }, { "line": 700, "text": "** When SQLite invokes the xSync() method of an" }, { "line": 704, "text": "** When the SQLITE_SYNC_DATAONLY flag is used, it means that the" }, { "line": 705, "text": "** sync operation only needs to flush data to mass storage. Inode" } ] }, { "path": "tools/whitening_diag.cpp", "score": 533, "hits": { "js8": 19, "decode": 26, "decoder": 11, "sync": 1, "snr": 12, "message": 2 }, "sample_lines": [ { "line": 1, "text": "// Diagnostic harness for JS8 whitening / noise estimation." }, { "line": 3, "text": "// runs the decoder twice (whitening OFF vs ON), and prints a concise summary." }, { "line": 9, "text": "// globals (dec_data, specData, fftw_mutex) that JS8 expects." }, { "line": 25, "text": "#include \"JS8_Include/commons.h\"" }, { "line": 26, "text": "#include \"JS8_Mode/JS8.h\"" }, { "line": 28, "text": "// Provide the globals expected by JS8.cpp" } ] }, { "path": "JS8_UDP/NetworkMessage.h", "score": 529, "hits": { "js8": 1, "decode": 32, "decoder": 1, "jt9": 1, "symbol": 2, "snr": 3, "wav": 1, "message": 102, "filename:message": 1 }, "sample_lines": [ { "line": 177, "text": "* after an old decodes replay sequence (see Replay below)," }, { "line": 209, "text": "* Decode Out 2 quint32" }, { "line": 221, "text": "* The decode message is sent when a new decode is completed, in" }, { "line": 223, "text": "* to a \"Replay\" message where each old decode in the \"Band" }, { "line": 227, "text": "* confidence decodes are flagged in protocols where the decoder" }, { "line": 228, "text": "* has knows that a decode has a higher than normal probability" } ] }, { "path": "JS8_UDP/WSJTXMessageMapper.cpp", "score": 527, "hits": { "js8": 24, "decode": 13, "snr": 7, "message": 69, "filename:message": 1 }, "sample_lines": [ { "line": 5, "text": "* and map them to JS8Call actions." }, { "line": 8, "text": "* @param main_window Main window instance for accessing JS8Call state" }, { "line": 13, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 19, "text": "Q_LOGGING_CATEGORY(wsjtx_mapper_js8, \"wsjtx.mapper.js8\", QtWarningMsg)" }, { "line": 38, "text": "* Maps JS8Call's status information to WSJT-X Status message format and" }, { "line": 58, "text": "qCDebug(wsjtx_mapper_js8)" } ] }, { "path": "vendor/Eigen/src/Core/arch/AVX/PacketMath.h", "score": 518, "hits": { "unpack": 74 }, "sample_lines": [ { "line": 217, "text": "template<> struct unpacket_traits {" }, { "line": 224, "text": "template<> struct unpacket_traits {" }, { "line": 229, "text": "template<> struct unpacket_traits { typedef int type; typedef Packet4i half; enum {size=8, alignment=Aligned32, vectorizable=false, masked_load_available=false, masked" }, { "line": 230, "text": "template<> struct unpacket_traits { typedef bfloat16 type; typedef Packet8bf half; enum {size=8, alignment=Aligned16, vectorizable=true, masked_load_available=false, mas" }, { "line": 599, "text": "// return _mm256_unpacklo_ps(tmp,tmp);" }, { "line": 864, "text": "__m256 T0 = _mm256_unpacklo_ps(kernel.packet[0], kernel.packet[1]);" } ] }, { "path": "vendor/Eigen/src/Core/products/GeneralBlockPanelKernel.h", "score": 511, "hits": { "unpack": 73 }, "sample_lines": [ { "line": 383, "text": "typename unpacket_traits::half>::half>::type \\" }, { "line": 390, "text": "typename unpacket_traits::half>::half>::type \\" }, { "line": 397, "text": "typename unpacket_traits::half>::half>::type \\" }, { "line": 404, "text": "typename unpacket_traits::half>::half>::type \\" }, { "line": 408, "text": "* real*real: unpack rhs to constant packets, ..." }, { "line": 410, "text": "* cd*cd : unpack rhs to (b_r,b_r), (b_i,b_i), mul to get (a_r b_r,a_i b_r) (a_r b_i,a_i b_i)," } ] }, { "path": "JS8_Mainwindow/processCommandActivity.cpp", "score": 446, "hits": { "js8": 23, "snr": 32, "message": 60 }, "sample_lines": [ { "line": 5, "text": "* processes JS8 commands" }, { "line": 8, "text": "#include \"JS8_Main/HBBlockingDB.h\"" }, { "line": 9, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 37, "text": "qCDebug(mainwindow_js8)" }, { "line": 117, "text": "// PROCESS @JS8NET, @APRSIS, AND OTHER GROUP SPOTS FOR EVERYONE" }, { "line": 145, "text": "bool isLast = (d.bits & Varicode::JS8CallLast) == Varicode::JS8CallLast;" } ] }, { "path": "JS8_Main/JS8MessageBox.cpp", "score": 442, "hits": { "js8": 23, "message": 34, "filename:js8": 1, "filename:message": 1 }, "sample_lines": [ { "line": 2, "text": "* @file JS8MessageBox.cpp" }, { "line": 6, "text": "#include \"JS8MessageBox.h\"" }, { "line": 13, "text": "JS8MessageBox::JS8MessageBox(QWidget *parent) : QMessageBox{parent} {" }, { "line": 17, "text": "JS8MessageBox::JS8MessageBox(Icon icon, QString const &text," }, { "line": 24, "text": "void JS8MessageBox::about_message(QWidget *parent, QString const &text) {" }, { "line": 28, "text": "void JS8MessageBox::about_Qt_message(QWidget *parent) {" } ] }, { "path": "vendor/Eigen/src/Core/ArithmeticSequence.h", "score": 415, "hits": { "symbol": 83 }, "sample_lines": [] }, { "path": "JS8_Main/main.cpp", "score": 362, "hits": { "js8": 29, "message": 36 }, "sample_lines": [ { "line": 8, "text": "#include \"JS8MessageBox.h\"" }, { "line": 9, "text": "#include \"JS8_Include/SettingsGroup.h\"" }, { "line": 10, "text": "#include \"JS8_Include/commons.h\"" }, { "line": 11, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 12, "text": "#include \"JS8_UI/styles.h\"" }, { "line": 45, "text": "Q_DECLARE_LOGGING_CATEGORY(main_js8)" } ] }, { "path": "JS8_Mode/DecodedText.h", "score": 352, "hits": { "js8": 2, "decode": 15, "decoder": 1, "unpack": 12, "snr": 4, "message": 6, "filename:decode": 1 }, "sample_lines": [ { "line": 3, "text": "* Class to handle the formatted string as returned from the decoder" }, { "line": 8, "text": "#ifndef DECODEDTEXT_H" }, { "line": 9, "text": "#define DECODEDTEXT_H" }, { "line": 11, "text": "#include \"JS8.h\"" }, { "line": 16, "text": "class DecodedText {" }, { "line": 20, "text": "explicit DecodedText(JS8::Event::Decoded const &);" } ] }, { "path": "JS8_Mode/JS8.h", "score": 336, "hits": { "js8": 5, "decode": 13, "decoder": 2, "sync": 5, "ft8": 1, "snr": 1, "message": 1, "filename:js8": 1 }, "sample_lines": [ { "line": 1, "text": "#ifndef __JS8" }, { "line": 2, "text": "#define __JS8" }, { "line": 12, "text": "namespace JS8 {" }, { "line": 16, "text": "// JS8 originally used the same Costas arrays as FT8 did, and so" }, { "line": 43, "text": "struct DecodeStarted {" }, { "line": 47, "text": "struct SyncStart {" } ] }, { "path": "vendor/Eigen/src/Core/GenericPacketMath.h", "score": 336, "hits": { "unpack": 48 }, "sample_lines": [ { "line": 132, "text": "template struct unpacket_traits" }, { "line": 146, "text": "template struct unpacket_traits : unpacket_traits { };" }, { "line": 179, "text": "typedef typename unpacket_traits::type Scalar;" }, { "line": 599, "text": "pload(const typename unpacket_traits::type* from) { return *from; }" }, { "line": 603, "text": "ploadu(const typename unpacket_traits::type* from) { return *from; }" }, { "line": 610, "text": "typename enable_if::masked_load_available, Packet>::type" } ] }, { "path": "JS8_Mode/JS8Submode.h", "score": 329, "hits": { "js8": 14, "decode": 2, "symbol": 10, "snr": 1, "filename:js8": 1 }, "sample_lines": [ { "line": 1, "text": "#ifndef JS8_SUBMODE_HPP_" }, { "line": 2, "text": "#define JS8_SUBMODE_HPP_" }, { "line": 4, "text": "#include \"JS8_Mode/JS8.h\"" }, { "line": 10, "text": "namespace JS8::Submode {" }, { "line": 22, "text": "// will throw if provided with an invalid JS8 submode." }, { "line": 29, "text": "// Running JS8Call with the environment variable" } ] }, { "path": "JS8_Mode/Decoder.h", "score": 324, "hits": { "js8": 2, "decode": 7, "decoder": 7, "filename:decode": 1, "filename:decoder": 1 }, "sample_lines": [ { "line": 1, "text": "#ifndef DECODER_H" }, { "line": 2, "text": "#define DECODER_H" }, { "line": 8, "text": "#include \"JS8_Main/ProcessThread.h\"" }, { "line": 37, "text": "class Decoder : public QObject {" }, { "line": 40, "text": "Decoder(QObject *parent = nullptr);" }, { "line": 41, "text": "~Decoder();" } ] }, { "path": "vendor/Eigen/src/Core/arch/AltiVec/PacketMath.h", "score": 322, "hits": { "unpack": 46 }, "sample_lines": [ { "line": 74, "text": "#define __UNPACK_TYPE__(PACKETNAME) typename unpacket_traits::type" }, { "line": 326, "text": "template<> struct unpacket_traits" }, { "line": 333, "text": "template<> struct unpacket_traits" }, { "line": 339, "text": "template<> struct unpacket_traits" }, { "line": 345, "text": "template<> struct unpacket_traits" }, { "line": 352, "text": "template<> struct unpacket_traits" } ] }, { "path": "vendor/Eigen/src/UmfPackSupport/UmfPackSupport.h", "score": 310, "hits": { "symbol": 62 }, "sample_lines": [] }, { "path": "JS8_Mainwindow/initializeDummyData.cpp", "score": 304, "hits": { "js8": 24, "decode": 2, "unpack": 3, "snr": 5, "message": 6 }, "sample_lines": [ { "line": 8, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 20, "text": "qCDebug(mainwindow_js8) << all;" }, { "line": 21, "text": "qCDebug(mainwindow_js8) << JSC::decompress(all) << (JSC::decompress(all) == \"HELLO WORLD \");" }, { "line": 87, "text": "qCDebug(mainwindow_js8) << \"select\" << c.selectionStart() << c.selectionEnd();" }, { "line": 145, "text": "// processDecodedLine(\"223000 -15 -0.3 1681 B 6t++yk+aJbaE 6 \\n\");" }, { "line": 158, "text": "qCDebug(mainwindow_js8) << \"test inbox opened\"" } ] }, { "path": "JS8_Mode/soft_combiner.h", "score": 286, "hits": { "js8": 9, "decode": 8, "decoder": 5, "soft": 11, "filename:soft": 1 }, "sample_lines": [ { "line": 18, "text": "Q_DECLARE_LOGGING_CATEGORY(decoder_js8);" }, { "line": 20, "text": "namespace js8 {" }, { "line": 22, "text": "* @brief Cache and combine repeated LLR frames for the same decode candidate." }, { "line": 25, "text": "* receptions accumulate LLRs to improve decode probability without changing" }, { "line": 27, "text": "* to the decoder's bit count." }, { "line": 58, "text": "qCDebug(decoder_js8)" } ] }, { "path": "JS8_Main/Varicode.h", "score": 286, "hits": { "js8": 9, "decode": 3, "unpack": 17, "ft8": 1, "snr": 3, "message": 19 }, "sample_lines": [ { "line": 25, "text": "JS8CallNormal = 0," }, { "line": 26, "text": "JS8CallFast = 1," }, { "line": 27, "text": "JS8CallTurbo = 2," }, { "line": 28, "text": "JS8CallSlow = 4," }, { "line": 29, "text": "JS8CallUltra = 8" }, { "line": 32, "text": "// frame type transmitted via itype and decoded by the ft8 decoded" } ] }, { "path": "JS8_Mode/ldpc_feedback.h", "score": 280, "hits": { "js8": 8, "decode": 3, "decoder": 1, "ldpc": 12, "filename:ldpc": 1 }, "sample_lines": [ { "line": 14, "text": "Q_DECLARE_LOGGING_CATEGORY(decoder_js8);" }, { "line": 16, "text": "namespace js8 {" }, { "line": 18, "text": "* @brief LDPC erasure threshold config and feedback refinement helpers." }, { "line": 21, "text": "* refineLlrsWithLdpcFeedback shrinks/boosts LLRs using the decoded" }, { "line": 22, "text": "* codeword to retry LDPC. Used inside the JS8 decode loop between" }, { "line": 23, "text": "* LDPC passes." } ] }, { "path": "JS8_Main/MessageServer.cpp", "score": 280, "hits": { "js8": 15, "message": 53, "filename:message": 1 }, "sample_lines": [ { "line": 12, "text": "Q_DECLARE_LOGGING_CATEGORY(messageserver_js8)" }, { "line": 20, "text": "qCDebug(messageserver_js8)" }, { "line": 27, "text": "qCDebug(messageserver_js8)" }, { "line": 33, "text": "qCDebug(messageserver_js8)" }, { "line": 39, "text": "qCDebug(messageserver_js8)" }, { "line": 117, "text": "qCDebug(messageserver_js8) << \"MessageServer incomingConnection\" << handle;" } ] }, { "path": "JS8_Mode/Modulator.cpp", "score": 278, "hits": { "js8": 22, "sync": 4, "symbol": 6 }, "sample_lines": [ { "line": 6, "text": "#include \"JS8Submode.h\"" }, { "line": 7, "text": "#include \"JS8_Audio/SoundOutput.h\"" }, { "line": 8, "text": "#include \"JS8_Include/commons.h\"" }, { "line": 9, "text": "#include \"JS8_Main/DriftingDateTime.h\"" }, { "line": 10, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 21, "text": "Q_DECLARE_LOGGING_CATEGORY(modulator_js8)" } ] }, { "path": "JS8_Mode/whitening_processor.h", "score": 270, "hits": { "js8": 9, "decode": 5, "decoder": 5, "symbol": 20 }, "sample_lines": [ { "line": 15, "text": "Q_DECLARE_LOGGING_CATEGORY(decoder_js8);" }, { "line": 17, "text": "namespace js8 {" }, { "line": 19, "text": "* @brief Compute per-tone/symbol noise medians and whiten LLRs for a JS8 frame." }, { "line": 23, "text": "* templated on matrix dimensions, so it stays header-only; used inside the JS8" }, { "line": 24, "text": "* decoder per candidate." }, { "line": 102, "text": "qCDebug(decoder_js8).noquote() << oss.str().c_str();" } ] }, { "path": "JS8_Main/APRSISClient.cpp", "score": 267, "hits": { "js8": 21, "sync": 1, "message": 25 }, "sample_lines": [ { "line": 3, "text": "* @brief Implementation of APRS-IS client for JS8Call" }, { "line": 14, "text": "Q_DECLARE_LOGGING_CATEGORY(aprsisclient_js8)" }, { "line": 105, "text": "loginFrame = loginFrame.arg(\"JS8Call\");" }, { "line": 319, "text": "qCDebug(aprsisclient_js8)" }, { "line": 354, "text": "auto spotFrame = QString(\"%1>APJ8CL,qAS,%2:=%3/%4G#JS8 %5\\n\");" }, { "line": 427, "text": "qCDebug(aprsisclient_js8)" } ] }, { "path": "vendor/Eigen/src/Core/util/SymbolicIndex.h", "score": 260, "hits": { "symbol": 40, "filename:symbol": 1 }, "sample_lines": [] }, { "path": "JS8_Main/TxLoop.cpp", "score": 250, "hits": { "js8": 25 }, "sample_lines": [ { "line": 13, "text": "#include \"JS8_Mode/JS8Submode.h\"" }, { "line": 21, "text": "Q_DECLARE_LOGGING_CATEGORY(txloop_js8)" }, { "line": 26, "text": "m_submode{Varicode::JS8CallSlow}, m_active{false}," }, { "line": 36, "text": "qCDebug(txloop_js8) << m_name << \"Destruction of TX loop\";" }, { "line": 47, "text": "((qint64)1000) * JS8::Submode::period(m_submode);" }, { "line": 52, "text": "qCWarning(txloop_js8)" } ] }, { "path": "JS8_UDP/WSJTXMessageClient.h", "score": 246, "hits": { "js8": 3, "decode": 14, "snr": 4, "message": 34, "filename:message": 1 }, "sample_lines": [ { "line": 4, "text": "#include \"JS8_Include/pimpl_h.h\"" }, { "line": 5, "text": "#include \"JS8_Main/Radio.h\"" }, { "line": 29, "text": "* @param id Application identifier (e.g., \"JS8Call\")" }, { "line": 126, "text": "* @brief Send a Decode message" }, { "line": 128, "text": "* Sends information about a decoded message." }, { "line": 130, "text": "* @param is_new Whether this is a new decode" } ] }, { "path": "JS8_Main/JS8MessageBox.h", "score": 246, "hits": { "js8": 5, "soft": 1, "message": 24, "filename:js8": 1, "filename:message": 1 }, "sample_lines": [ { "line": 7, "text": "* JS8MessageBox - wrap the Qt QMessageBox class to give a more platform" }, { "line": 11, "text": "* We dogde the resulting problems by calling our MessageBox JS8MessageBox." }, { "line": 13, "text": "class JS8MessageBox : public QMessageBox {" }, { "line": 15, "text": "explicit JS8MessageBox(QWidget *parent = nullptr);" }, { "line": 16, "text": "explicit JS8MessageBox(Icon, QString const &text," } ] }, { "path": "JS8_UI/MessagePanel.cpp", "score": 244, "hits": { "js8": 4, "message": 90, "filename:message": 1 }, "sample_lines": [ { "line": 2, "text": "#include \"JS8_Include/EventFilter.h\"" }, { "line": 3, "text": "#include \"JS8_Main/Radio.h\"" }, { "line": 4, "text": "#include \"JS8_Widgets/DateTableWidgetItem.h\"" }, { "line": 5, "text": "#include \"JS8_Widgets/SemiSortableHeader.h\"" } ] }, { "path": "JS8_Main/TransmitTextEdit.cpp", "score": 226, "hits": { "js8": 10, "sync": 18 }, "sample_lines": [ { "line": 8, "text": "#include \"JS8_Include/commons.h\"" }, { "line": 9, "text": "#include \"JS8_Include/pimpl_impl.h\"" }, { "line": 22, "text": "Q_DECLARE_LOGGING_CATEGORY(transmittextedit_js8)" }, { "line": 27, "text": "#if JS8_ALLOW_EXTENDED" }, { "line": 39, "text": "#if JS8_ALLOW_UNICODE" }, { "line": 41, "text": "#elif JS8_ALLOW_EXTENDED" } ] }, { "path": "JS8_UDP/WSJTXMessageMapper.h", "score": 225, "hits": { "js8": 8, "decode": 8, "snr": 3, "message": 24, "filename:message": 1 }, "sample_lines": [ { "line": 4, "text": "#include \"JS8_Main/Radio.h\"" }, { "line": 15, "text": "* @brief Maps JS8Call events to WSJT-X protocol messages" }, { "line": 17, "text": "* This class translates JS8Call's internal event format to the WSJT-X binary" }, { "line": 18, "text": "* UDP protocol format, allowing JS8Call to communicate with WSJT-X and" }, { "line": 29, "text": "* @param main_window Main window instance for accessing JS8Call state" }, { "line": 39, "text": "* Maps JS8Call's status information to WSJT-X Status message format." } ] }, { "path": "vendor/Eigen/src/Core/arch/SYCL/PacketMath.h", "score": 222, "hits": { "unpack": 30, "soft": 3 }, "sample_lines": [ { "line": 33, "text": "const typename unpacket_traits::type, \\" }, { "line": 36, "text": "typedef typename unpacket_traits::type scalar; \\" }, { "line": 41, "text": "static_cast::type>(0)); \\" }, { "line": 63, "text": "const typename unpacket_traits::type, \\" }, { "line": 84, "text": "typename unpacket_traits::type> \\" }, { "line": 99, "text": "const typename unpacket_traits::type, \\" } ] }, { "path": "JS8_Network/PSKReporter.cpp", "score": 222, "hits": { "js8": 13, "sync": 1, "soft": 1, "snr": 7, "message": 30 }, "sample_lines": [ { "line": 13, "text": "#include \"JS8_Include/pimpl_impl.h\"" }, { "line": 14, "text": "#include \"JS8_Main/Bands.h\"" }, { "line": 15, "text": "#include \"JS8_Main/DriftingDateTime.h\"" }, { "line": 16, "text": "#include \"JS8_UI/Configuration.h\"" }, { "line": 39, "text": "Q_DECLARE_LOGGING_CATEGORY(pskreporter_js8)" }, { "line": 365, "text": "// handle re-opening asynchronously" } ] }, { "path": "JS8_UI/LogQSO.cpp", "score": 220, "hits": { "js8": 20, "fsk": 2, "message": 5 }, "sample_lines": [ { "line": 8, "text": "#include \"JS8_Include/Maidenhead.h\"" }, { "line": 9, "text": "#include \"JS8_Logbook/ADIF.h\"" }, { "line": 10, "text": "#include \"JS8_Main/Bands.h\"" }, { "line": 11, "text": "#include \"JS8_Main/DriftingDateTime.h\"" }, { "line": 12, "text": "#include \"JS8_Main/JS8MessageBox.h\"" }, { "line": 27, "text": "Q_DECLARE_LOGGING_CATEGORY(logqso_js8)" } ] }, { "path": "JS8_Mainwindow/initializeGroupMessage.cpp", "score": 202, "hits": { "js8": 16, "message": 9, "filename:message": 1 }, "sample_lines": [ { "line": 8, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 26, "text": "cmd.submode = Varicode::JS8CallNormal;" }, { "line": 40, "text": "cmd1.submode = Varicode::JS8CallNormal;" }, { "line": 52, "text": "cmd2.submode = Varicode::JS8CallNormal;" }, { "line": 60, "text": "qCDebug(mainwindow_js8) << \"Testing group messaging\";" }, { "line": 61, "text": "qCDebug(mainwindow_js8) << \"Test message ID: \" << mid;" } ] }, { "path": "JS8_UI/About.cpp", "score": 192, "hits": { "js8": 19, "message": 1 }, "sample_lines": [ { "line": 7, "text": "#include \"JS8_Main/revision_utils.h\"" }, { "line": 14, "text": "setWindowTitle(\"About JS8Call\");" }, { "line": 18, "text": "\"

About the JS8Call Development Team

\"" }, { "line": 19, "text": "\"

JS8Call is now being developed by the team that \"" }, { "line": 21, "text": "\"js8call starting in late 2024.
This team includes:
Chris \"" }, { "line": 25, "text": "\"The JS8Call code can be downloaded at \"" } ] }, { "path": "JS8_Mainwindow/processRxActivity.cpp", "score": 187, "hits": { "js8": 13, "snr": 5, "message": 21 }, "sample_lines": [ { "line": 8, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 17, "text": "qCDebug(mainwindow_js8)" }, { "line": 41, "text": "abs(d.offset - freqOffset) <= JS8::Submode::rxThreshold(d.submode);" }, { "line": 53, "text": "// qCDebug(mainwindow_js8) << \"should display compound too" }, { "line": 84, "text": "if ((d.bits & Varicode::JS8CallFirst) == Varicode::JS8CallFirst &&" }, { "line": 116, "text": "(d.bits & Varicode::JS8CallFirst) == Varicode::JS8CallFirst;" } ] }, { "path": "JS8_Transceiver/HamlibTransceiver.cpp", "score": 186, "hits": { "js8": 15, "fsk": 4, "message": 8 }, "sample_lines": [ { "line": 23, "text": "Q_DECLARE_LOGGING_CATEGORY(hamlibtransceiver_js8)" }, { "line": 53, "text": "qCCritical(hamlibtransceiver_js8, fmt, message.toLocal8Bit().data());" }, { "line": 57, "text": "qCWarning(hamlibtransceiver_js8, fmt, message.toLocal8Bit().data());" }, { "line": 61, "text": "qCDebug(hamlibtransceiver_js8, fmt, message.toLocal8Bit().data());" }, { "line": 167, "text": "if (hamlibtransceiver_js8().isDebugEnabled())" }, { "line": 169, "text": "else if (hamlibtransceiver_js8().isInfoEnabled())" } ] }, { "path": "vendor/Eigen/src/Core/arch/NEON/PacketMath.h", "score": 182, "hits": { "unpack": 26 }, "sample_lines": [ { "line": 129, "text": "EIGEN_STRONG_INLINE Packet4f vec4f_unpacklo(const Packet4f& a, const Packet4f& b)" }, { "line": 133, "text": "EIGEN_STRONG_INLINE Packet4f vec4f_unpackhi(const Packet4f& a, const Packet4f& b)" }, { "line": 458, "text": "template<> struct unpacket_traits" }, { "line": 472, "text": "template<> struct unpacket_traits" }, { "line": 486, "text": "template<> struct unpacket_traits" }, { "line": 499, "text": "template<> struct unpacket_traits" } ] }, { "path": "JS8_Main/Inbox.cpp", "score": 180, "hits": { "js8": 10, "message": 40 }, "sample_lines": [ { "line": 12, "text": "Q_DECLARE_LOGGING_CATEGORY(inbox_js8)" }, { "line": 148, "text": "// qCDebug(inbox_js8) << \"exec\" << sqlite3_expanded_sql(stmt);" }, { "line": 324, "text": "// qCDebug(inbox_js8) << \"exec \" << sqlite3_expanded_sql(stmt);" }, { "line": 400, "text": "// qCDebug(inbox_js8) << \"exec \" << sqlite3_expanded_sql(stmt);" }, { "line": 509, "text": "// qCDebug(inbox_js8) << \"exec \" << sqlite3_expanded_sql(stmt);" }, { "line": 582, "text": "// qCDebug(inbox_js8) << \"exec \" << sqlite3_expanded_sql(stmt);" } ] }, { "path": "vendor/Eigen/src/KLUSupport/KLUSupport.h", "score": 175, "hits": { "symbol": 35 }, "sample_lines": [] }, { "path": "JS8_Mainwindow/displayBandActivity.cpp", "score": 173, "hits": { "js8": 8, "snr": 31 }, "sample_lines": [ { "line": 8, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 104, "text": "if (lhsSubmode == Varicode::JS8CallSlow)" }, { "line": 106, "text": "if (rhsSubmode == Varicode::JS8CallSlow)" }, { "line": 206, "text": "if ((item.bits & Varicode::JS8CallLast) ==" }, { "line": 207, "text": "Varicode::JS8CallLast) {" }, { "line": 256, "text": "auto name = JS8::Submode::name(submode);" } ] }, { "path": "JS8_Main/MessageClient.cpp", "score": 170, "hits": { "js8": 5, "message": 48, "filename:message": 1 }, "sample_lines": [ { "line": 9, "text": "#include \"JS8_Include/pimpl_impl.h\"" }, { "line": 24, "text": "Q_DECLARE_LOGGING_CATEGORY(messageclient_js8)" }, { "line": 161, "text": "qCDebug(messageclient_js8)" }, { "line": 265, "text": "Q_LOGGING_CATEGORY(messageclient_js8, \"messageclient.js8\", QtWarningMsg)" } ] }, { "path": "JS8_Main/AprsInboundRelay.cpp", "score": 170, "hits": { "js8": 8, "message": 45 }, "sample_lines": [ { "line": 9, "text": "* When function is enabled in settings JS8Call will listen for APRS messages" }, { "line": 15, "text": "#include \"JS8_Main/DriftingDateTime.h\"" }, { "line": 16, "text": "#include \"JS8_Main/Radio.h\"" }, { "line": 17, "text": "#include \"JS8_UI/Configuration.h\"" }, { "line": 26, "text": "Q_DECLARE_LOGGING_CATEGORY(mainwindow_js8)" }, { "line": 102, "text": "qCDebug(mainwindow_js8)" } ] }, { "path": "vendor/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h", "score": 161, "hits": { "unpack": 23 }, "sample_lines": [ { "line": 31, "text": "typedef typename unpacket_traits::type Scalar;" }, { "line": 32, "text": "typedef typename unpacket_traits::integer_packet PacketI;" }, { "line": 41, "text": "typedef typename unpacket_traits::type Scalar;" }, { "line": 108, "text": "typedef typename unpacket_traits::integer_packet PacketI;" }, { "line": 109, "text": "typedef typename unpacket_traits::type Scalar;" }, { "line": 110, "text": "typedef typename unpacket_traits::type ScalarI;" } ] }, { "path": "JS8_Main/FrequencyList.cpp", "score": 156, "hits": { "js8": 15, "ft8": 1 }, "sample_lines": [ { "line": 3, "text": "* @brief Implementation of the JS8 standard operating frequencies" }, { "line": 7, "text": "#include \"JS8_Include/pimpl_impl.h\"" }, { "line": 8, "text": "#include \"JS8_Main/Bands.h\"" }, { "line": 31, "text": "{1843500, Modes::JS8, IARURegions::ALL, \"\"}, // 3.5 above" }, { "line": 32, "text": "{3578000, Modes::JS8, IARURegions::ALL, \"\"}, // 5 above" }, { "line": 33, "text": "{5363000, Modes::JS8," } ] }, { "path": "JS8_Main/MultiSettings.cpp", "score": 152, "hits": { "js8": 9, "sync": 6, "message": 10 }, "sample_lines": [ { "line": 7, "text": "#include \"JS8MessageBox.h\"" }, { "line": 8, "text": "#include \"JS8_Include/SettingsGroup.h\"" }, { "line": 9, "text": "#include \"JS8_Include/pimpl_impl.h\"" }, { "line": 338, "text": "settings_.sync();" }, { "line": 388, "text": "settings_.sync();" }, { "line": 544, "text": "settings_.sync();" } ] }, { "path": "JS8_Mainwindow/processBufferedActivity.cpp", "score": 148, "hits": { "js8": 8, "message": 34 }, "sample_lines": [ { "line": 7, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 33, "text": "buffer.msgs.last().bits |= Varicode::JS8CallLast;" }, { "line": 49, "text": "if ((buffer.msgs.last().bits & Varicode::JS8CallLast) !=" }, { "line": 50, "text": "Varicode::JS8CallLast) {" }, { "line": 85, "text": "buffer.cmd.bits |= Varicode::JS8CallLast;" }, { "line": 90, "text": "qCDebug(mainwindow_js8)" } ] }, { "path": "JS8_Mainwindow/confirmThenEnqueueMessage.cpp", "score": 147, "hits": { "js8": 1, "decode": 2, "decoder": 2, "sync": 1, "message": 37, "filename:message": 1 }, "sample_lines": [ { "line": 6, "text": "* kept in sync on pending autoreply transmissions." }, { "line": 10, "text": "#include \"../JS8_UI/mainwindow.h\"" }, { "line": 15, "text": "* Called from the decoder thread; all Qt and network operations are marshalled" }, { "line": 37, "text": "// CRITICAL: called from decoder thread → QTimer/sendNetworkMessage must run in GUI thread" } ] }, { "path": "JS8_Mainwindow/buildQueryMenu.cpp", "score": 146, "hits": { "js8": 1, "snr": 12, "message": 50 }, "sample_lines": [ { "line": 7, "text": "#include \"JS8_UI/mainwindow.h\"" } ] }, { "path": "JS8_Transceiver/HRDTransceiver.cpp", "score": 144, "hits": { "js8": 8, "fsk": 4, "message": 22 }, "sample_lines": [ { "line": 8, "text": "#include \"JS8_Network/NetworkServerLookup.h\"" }, { "line": 19, "text": "Q_DECLARE_LOGGING_CATEGORY(hrdtransceiver_js8)" }, { "line": 891, "text": "bool quiet{hrdtransceiver_js8().isDebugEnabled()};" }, { "line": 893, "text": "qCDebug(hrdtransceiver_js8) << \"+++++++ poll dump +++++++\";" }, { "line": 894, "text": "qCDebug(hrdtransceiver_js8) << \"reversed:\" << reversed_;" }, { "line": 920, "text": "qCDebug(hrdtransceiver_js8) << \"------- poll dump -------\";" } ] }, { "path": "JS8_Mainwindow/dataSink.cpp", "score": 142, "hits": { "js8": 11, "decode": 3, "decoder": 1 }, "sample_lines": [ { "line": 8, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 80, "text": "constexpr int NMAX = JS8_NTMAX * 12000;" }, { "line": 92, "text": "m_ihsym = int((float)frames / (float)JS8_NSPS) * 2;" }, { "line": 97, "text": "// qCDebug(mainwindow_js8) << \"k\" << k << \"k0\" << k0 << \"delta\" << k-k0;" }, { "line": 104, "text": "int const cycle = JS8::Submode::computeCycleForDecode(m_nSubMode, k);" }, { "line": 107, "text": "qCDebug(decoder_js8) << \"period loop, resetting ssum\";" } ] }, { "path": "vendor/Eigen/src/Core/util/IndexedViewHelper.h", "score": 140, "hits": { "symbol": 28 }, "sample_lines": [] }, { "path": "JS8_Main/Message.cpp", "score": 130, "hits": { "message": 53, "filename:message": 1 }, "sample_lines": [] }, { "path": "JS8_UI/WideGraph.h", "score": 129, "hits": { "js8": 2, "decode": 4, "sync": 11 }, "sample_lines": [ { "line": 5, "text": "#include \"JS8_Include/commons.h\"" }, { "line": 6, "text": "#include \"JS8_Main/WF.h\"" }, { "line": 45, "text": "bool isAutoSyncEnabled() const;" }, { "line": 47, "text": "bool shouldDisplayDecodeAttempts() const;" }, { "line": 48, "text": "bool shouldAutoSyncSubmode(int) const;" }, { "line": 54, "text": "void drawDecodeLine(QColor const &, int, int);" } ] }, { "path": "CMake/Modules/GetPrerequisites.cmake", "score": 124, "hits": { "soft": 7, "message": 48 }, "sample_lines": [] }, { "path": "JS8_Mainwindow/displayCallActivity.cpp", "score": 124, "hits": { "js8": 6, "snr": 16, "message": 8 }, "sample_lines": [ { "line": 8, "text": "#include \"JS8_UI/mainwindow.h\"" }, { "line": 143, "text": "if (lhs == Varicode::JS8CallSlow)" }, { "line": 145, "text": "if (rhs == Varicode::JS8CallSlow)" }, { "line": 295, "text": "auto name = JS8::Submode::name(d.submode);" }, { "line": 296, "text": "auto modeItem = (name == \"JS8 40\" || name == \"JS8 60\")" } ] } ], "next_action": "Inspect top ranked files for the smallest RX-only WAV-to-message path; do not use GUI/API/TX code." } [webftr-js8-lab] OK [webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T084314Z_clone-audit.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T084314Z_clone-audit_manifest.json