Adopt TapHouse pre-commit hook and the tap::osc namespace#24
Merged
Conversation
Completes OscTap's adoption of the Tap House Rules: it already carries the canonical .clang-format and STYLE.md (layout half) and runs a format-only CI gate. This adds the local pre-commit clang-format hook so staged C/C++ is formatted before commit, matching the rest of the family. The naming half stays deliberately exempt (readability-identifier-naming is off) — OscTap is a drop-in source-compatible continuation of oscpack, and the exemption is documented in TapHouse STYLE.md. The pre-commit hook is clang-format only, so it is fully compatible with that exemption. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MRTDgYKY38WH8Bqz17W9k1
Migrate the library's canonical C++ namespace to tap::osc, per the family
convention (tap::dsp, tap::ambi, …). Non-breaking: both former names are
retained as namespace aliases, so existing code on either spelling keeps
compiling —
namespace osctap = tap::osc; // the former modern name
namespace oscpack = tap::osc; // the original oscpack name
Only the library headers under osctap/ move (25 namespace blocks; 64 internal
osctap:: references retargeted to tap::osc::). The tests and examples that
deliberately exercise the osctap::/oscpack:: aliases are left untouched — they
are the live verification that the shims still resolve, and now cover the
tap::osc indirection too. Include paths and the osctap/ directory are unchanged.
Verified: builds and all 9 tests pass on Linux; clang-format clean. The naming
exemption is unaffected (namespace casing was never gated).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRTDgYKY38WH8Bqz17W9k1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings OscTap fully in line with the Tap family conventions, in two commits.
1. Add the canonical TapHouse pre-commit clang-format hook
OscTap already carried the canonical
.clang-formatandSTYLE.md(the layout half) and runs a format-only CI gate. This adds the local pre-commit clang-format hook, completing the "adopt the rules" checklist.The naming half stays deliberately exempt (
readability-identifier-namingis off) — OscTap is a drop-in source-compatible continuation of oscpack, and that exemption is documented in TapHouseSTYLE.md. The pre-commit hook is clang-format only, so it's fully compatible.2. Adopt the
tap::oscnamespace, keepingosctap/oscpackas compat aliasesMigrates the library's canonical C++ namespace to
tap::osc, per the family convention (tap::dsp,tap::ambi, …). Non-breaking — both former names are retained as namespace aliases:osctap/move: 25 namespace blocks renamed, 64 internalosctap::refs retargeted totap::osc::.osctap::/oscpack::aliases (with explicit "do not rename — this verifies the shim" comments) are left untouched — they now also cover thetap::oscindirection.osctap/directory are unchanged; the naming exemption is unaffected (namespace casing was never gated).Verified: builds and all 9 tests pass on Linux; clang-format clean.
🤖 Generated with Claude Code
https://claude.ai/code/session_01MRTDgYKY38WH8Bqz17W9k1
Generated by Claude Code