Skip to content

Conversation

@simoninns
Copy link
Collaborator

PR Summary: TBC Library Debug Refactor (and other fixes)

This PR contains a comprehensive refactor of the debug logging system across the ld-decode tools and the TBC library. The changes improve consistency and provide better control over application-specific debug output by moving away from qDebug and, instead, implementing a local debug. This allows useful debug (for tool issues) to be output without the clutter of "real" Qt debug information (now available only from debug builds).

Commits Overview:

  1. Fixes to readme.md (e08a916)

    • Documentation updates
  2. Re-enable the --debug switch for all Qt tools (3d583db)

    • Restores the --debug command-line switch functionality across all Qt-based tools
    • Allows users to enable debug output when needed
  3. Move away from qDebug for application-specific debug information (b6be6a0)

    • Replaces Qt's qDebug() with application-specific debug output
    • Provides clean debug output without Qt framework-level messages in release builds
    • Maintains debug output control even in release mode builds
  4. Refactor all tools to use new application specific debug in TBC library (aaf5bf8)

    • Updates all Qt tools and the EFM decoder suite to use the new TBC library debug logging
    • Affects 60+ files across:
      • ld-analyse
      • ld-chroma-decoder
      • ld-disc-stacker
      • ld-discmap
      • ld-dropout-correct
      • ld-export-metadata
      • ld-json-converter
      • ld-ldf-reader
      • ld-lds-converter
      • ld-process-vbi
      • ld-process-vits
      • efm-decoder suite (audio, d24, data, f2, stacker, vfs-verifier)
  5. Fixed a bug in SQLite metadata writeField (9bcd6c1)

    • Resolves a critical bug where field data was not being updated in ld-process-vbi
    • Ensures SQLite metadata updates work correctly across all tools
    • Important: this bug was stopping any metadata re-writing tools from functioning correctly
  6. Harmonize the way the TBC library is used across the tools with a refactor (1e4e786)

    • Final harmonization pass refactoring the TBC library integration
    • Improves consistency in how all tools utilize the TBC library
    • Updates CMakeLists.txt configurations where needed

Summary:

This refactor provides a unified debug logging approach across all tools, removes dependency on Qt debug output in release builds, and fixes related metadata handling bugs. The changes maintain backward compatibility while improving the user experience when debugging issues. This PR closes #977

@simoninns simoninns merged commit 2c5bafd into happycube:main Dec 7, 2025
2 checks passed
@simoninns simoninns deleted the issue977-202512 branch December 7, 2025 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Using the --debug option in Qt tools no longer outputs any debug

1 participant