Skip to content

Add playlist website: Eurodance & French Touch Time Capsule (Extended Mixes) Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com> Signed-off-by: Vibe Nuage Agent <vibe@mistral.ai> - #13

Merged
MarcelRaschke merged 15 commits into
Matrixfrom
vibe/playlist-website-127d7c
Aug 18, 2026
Merged

MarcelRaschke merged 15 commits into
Matrixfrom
vibe/playlist-website-127d7c

Conversation

@MarcelRaschke

Copy link
Copy Markdown
Owner

📌 Pull Request Description

Please fill out the following sections to help reviewers understand your changes.


✅ What does this PR do?

A clear and concise description of the changes.

🎯 Why is this change needed?

Explain the motivation and context for this PR.

🔗 Related Issues or PRs

Link to any related issues (e.g., Closes #123) or pull requests.


📝 Checklist

  • Code: Follows the coding standards.
  • Tests: All existing tests pass (if applicable).
  • Security: No hardcoded secrets or sensitive data.
  • Documentation: Updated (if applicable).
  • Build: Successfully builds on Linux/Windows.

🛡️ Security Considerations

  • This PR does not introduce new dependencies.
  • This PR does not modify security-critical code (e.g., authentication, encryption).
  • This PR has been scanned with:
    • CodeQL
    • clang-tidy
    • cppcheck
    • Trivy

If this PR introduces security-relevant changes, please describe them below:


📎 Additional Context

Add any other context, screenshots, or references here.

MarcelRaschke and others added 15 commits June 29, 2026 03:48
- Add SECURITY.md with vulnerability reporting guidelines
- Add CodeQL workflow for C++ static analysis
- Add clang-tidy workflow for code quality checks
- Add cppcheck workflow for additional static analysis
- Add Dependabot configuration for dependency scanning
- Update README.md with security information and links

Closes #security-policy

Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
- Add SBOM generation workflow with Syft (SPDX and CycloneDX)
- Add Fuzzing workflow with AFL++ for kissfft library
- Add Trivy vulnerability scanning workflow

These workflows complement the existing CodeQL, clang-tidy, and cppcheck
workflows for comprehensive security coverage.

Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
- Add CONTRIBUTING.md with security guidelines, coding standards, and contribution rules
- Add ISSUE_TEMPLATE for bug reports, feature requests, and security vulnerabilities
- Add PULL_REQUEST_TEMPLATE.md for standardized PR descriptions
- Add CODEOWNERS for repository ownership
- Add labeler.yml for automatic issue/PR labeling
- Optimize clang-tidy workflow with path filtering and CMake integration
- Optimize cppcheck workflow with path filtering and artifact upload
- Optimize fuzzing workflow with configurable time and manual dispatch
- Add build.yml for Linux/Windows build testing
- Add ci.yml for comprehensive CI pipeline

Closes #contributing-guidelines

Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
- Add CODE_OF_CONDUCT.md based on Contributor Covenant
- Add OWASP ZAP workflow for dynamic security analysis
- Optimize all workflows with actions/cache for:
  - clang-tidy (CMake build cache)
  - cppcheck (cppcheck cache)
  - build.yml (CMake dependencies cache)
  - ci.yml (all tool caches)
  - fuzzing.yml (AFL++ corpus cache)
- Adjust fuzzing duration to 600s (10 minutes) default
- Add parallel fuzzing support with configurable cores
- Add input validation for Fuzzing workflow
- Add cache for Trivy and Syft in CI pipeline

Closes #owasp-zap Closes #workflow-optimization

Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
- Add Snyk workflow for vulnerability scanning (requires SNYK_TOKEN secret)
- Add SonarQube workflow for code quality analysis (requires SONAR_TOKEN)
- Add sonar-project.properties for SonarQube configuration
- Add kodi-addon-checks.yml for Kodi-specific validations:
  - Addon XML validation
  - Kodi API compatibility checks
  - Visualization-specific requirements
  - Thread safety checks
  - Performance considerations
- Add DEPENDENCY_POLICY.md with:
  - Approved dependencies list
  - Dependency update process
  - Security requirements
  - License compatibility matrix
  - Maintenance schedule

These additions provide comprehensive security and quality analysis
for the visualization.matrix addon, tailored specifically for Kodi addons.

Closes #snyk Closes #sonarqube Closes #kodi-checks Closes #dependency-policy

Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
- Add Semgrep workflow for custom security rules with .semgrep.yml
  - Rules for memory safety (malloc, strcpy, sprintf)
  - Kodi-specific rules (deprecated APIs, required methods)
  - FFT-specific rules (input validation, power-of-two checks)
  - Modern C++ best practices (const references, nullptr, auto)
- Add CHANGELOG.md following Keep a Changelog format
- Add changelog.yml workflow for automatic CHANGELOG generation
  - Triggered on push to master/Matrix/Nexus
  - Triggered on tag pushes (v*)
  - Manual dispatch with version input
  - Dry-run mode for testing
- Add Dockerfile for consistent build environments
  - Multi-stage build (builder + runtime)
  - Installs all build dependencies (CMake, g++, Mesa, clang-tidy, cppcheck)
  - Clones Kodi source for addon building
  - Supports multi-arch builds (amd64, arm64, arm/v7)
- Add docker.yml workflow for Docker builds and security scanning
  - Builds Docker image with Buildx
  - Supports multi-platform builds
  - Scans images with Trivy
  - Pushes to GitHub Container Registry

Closes #semgrep Closes #changelog Closes #docker-builds

Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
Add comprehensive security, CI/CD, Docker, and changelog framework
- Clamp m_albumX and m_albumY to [-1.0, 1.0] to prevent album art from
  extending beyond the screen edges in the Album preset.
- Fix redundant m_AlbumNeedsUpload assignment (set to false after upload).
- Resolves FIXME comment in RenderTo() for proper framing.

Closes #N/A

Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
- Add new 'Neon' preset (labelId 30108) to g_presets list.
- Create neon.frag.glsl shader with:
  - Pulsing neon grid background
  - Audio-reactive brightness and glow effects
  - Cyan/magenta color scheme
- Uses only audio channel (no textures required).

Closes #N/A

Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
…e108b

Fix album art framing to stay within screen bounds
…hos² themes

- New GLSL shader (odysseus.frag.glsl) combining:
  - Dynamic matrix grid with falling symbols (⛵ Odysseus, ✈ Hermes, ➕ Helvetia, π)
  - π-based noise and patterns
  - Odysseus' spiral path
  - Hermes' winged shapes
  - Helvetia's Swiss cross
  - Mythos² recursive matrix layers
  - Audio reactivity for all elements
- Added preset to main.cpp (ID 30109)
- Added localized string for Odysseus preset

Closes #751c4c

Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
* feat: Major optimizations and modernizations

- Modernized CMake build system (3.20+, FetchContent for kissfft)
- Consolidated CI/CD workflows into single main.yml
- Improved code quality with std::vector and modern C++ practices
- Optimized Docker multi-stage build with .dockerignore
- Added clang-format configuration and workflow
- Added cache management workflow
- Removed obsolete Find*.cmake files
- Fixed memory management (automatic cleanup with vectors)
- Fixed potential bug in m_AlbumNeedsUpload logic
- Improved type safety with constexpr and static_cast

Closes #optimization-request

Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>

* chore: remove trailing whitespace from merged shaders

Co-authored-by: MarcelRaschke <42359664+MarcelRaschke@users.noreply.github.com>

---------

Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai>
Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
…nce (#6)

- Fix FIXME 1: Clamp album position to prevent overflow over screen edges
- Fix FIXME 2: Reset m_AlbumNeedsUpload after upload (only for album shader)
- Add Google Test framework and unit tests for BlackmanWindow, LinearToDecibels, SmoothingOverTime
- Add SHADERS.md with comprehensive documentation of all shaders, uniforms, and constants
- Optimize performance: Only set m_AlbumNeedsUpload for album shader (channel[3] == 2)

Closes #N/A

Co-authored-by: Vibe Nuage Agent <vibe@mistral.ai>
Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
… Mixes)

Co-authored-by: MarcelRaschke <MarcelRaschke@users.noreply.github.com>
Signed-off-by: Vibe Nuage Agent <vibe@mistral.ai>

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@MarcelRaschke
MarcelRaschke merged commit ebd0c8a into Matrix Aug 18, 2026
3 of 21 checks passed
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.

2 participants