Skip to content

Feat/volume slider#1085

Open
shivashanker123 wants to merge 2 commits into
magic-peach:mainfrom
shivashanker123:feat/volume-slider
Open

Feat/volume slider#1085
shivashanker123 wants to merge 2 commits into
magic-peach:mainfrom
shivashanker123:feat/volume-slider

Conversation

@shivashanker123
Copy link
Copy Markdown
Contributor

Description

This PR introduces a dedicated Audio Volume Slider Control Component to the video editor's Audio & Speed configuration panel. It gives users granular control over their video's output audio levels, supporting complete attenuation up to high-gain digital boosting.

✨ Key Features & Implementations:

  1. Granular Frontend Input Widget: Added a customized input slider that ranges from 0% (fully muted) to 200% (boosted amplification) with a precision step multiplier.
  2. FFmpeg Core Integration: Seamlessly hooked the component value state into the client-side export generation pipeline. Adjustments correctly update the centralized EditRecipe state parameters and dynamically compile the exact -af volume=X audio filter string combinations inside the FFmpeg execution arguments layer.
  3. Smart UI Context Management: To preserve layout stability and avoid sudden Cumulative Layout Shifts (CLS), the slider safely switches to a disabled state (reduced to opacity: 50% with suspended pointer events) when the keepAudio toggle is disabled or when an audio-less format like GIF is selected.
  4. Automated Validation: Updated the underlying unit testing framework suite inside ffmpeg.test.ts to fully validate the integrity of the newly introduced audio filter parsing blocks.

Related Issue

Closes #1081

Type of Contribution

  • Bug fix
  • New feature
  • Enhancement / Optimization
  • Refactor
  • GSSoC contribution

Participant Info

  • GitHub username: shivashanker123
  • Contribution level (Beginner/Intermediate/Advanced): Advanced

Screen Recording

🎬 Click to View Feature Walkthrough & Verification Video

🔊 Volume Slider (0-200%) & Conditional State Validation Flow

Screen.Recording.2026-05-24.193505.mp4

Checklist

  • I have read the contribution guidelines
  • My changes follow the project structure
  • I have tested my changes in Chrome, Firefox, and Safari
  • bun run lint passes (no ESLint errors)
  • bunx tsc --noEmit passes (no TypeScript errors)
  • New interactive elements have aria-label / accessible names
  • No console.log statements left in
  • This PR is related to a valid issue
  • Screen recording attached above

@vercel
Copy link
Copy Markdown

vercel Bot commented May 24, 2026

@shivashanker123 is attempting to deploy a commit to the magic-peach1's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @shivashanker123!

Welcome to Reframe — a browser-based video editor built for everyone 🎬

🟠 GSSoC'26 PR detected — thanks for contributing under GirlScript Summer of Code 2026!

What happens next

  1. 🤖 Automated checks — build & TypeScript typecheck will run automatically
  2. Vercel preview — a preview deployment will be created (requires maintainer authorization for fork PRs)
  3. 👀 Code review — a maintainer will review your changes
  4. 🚀 Merge — once approved, your PR will be merged!

Quick checklist

  • PR title follows Conventional Commits (e.g. feat: add dark mode)
  • Linked the issue this PR closes (e.g. Closes #123)
  • Tested the changes locally (bun run dev)
  • Build passes (bun run build)

Useful links

Happy coding! 🎉

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ PR Format Issues — @shivashanker123

Please fix the following before your PR can be reviewed:

  • ⚠️ Use a conventional PR title. Examples:
    • feat: add dark mode support
    • fix: resolve aria label missing on slider
    • docs: add deployment guide to README

Push new commits after fixing — this comment will update automatically.

📖 CONTRIBUTING.md

@github-actions github-actions Bot added gssoc'26 GirlScript Summer of Code 2026 level:intermediate Intermediate level - 35 pts type:bug Bug fix type:design UI/UX design type:feature New feature type:performance Performance type:refactor Code refactor type:testing Testing labels May 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc'26 GirlScript Summer of Code 2026 level:intermediate Intermediate level - 35 pts type:bug Bug fix type:design UI/UX design type:feature New feature type:performance Performance type:refactor Code refactor type:testing Testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Add audio volume slider control (0-200%) with FFmpeg filter integration

1 participant