Commit Graph
117 Commits
Author SHA1 Message Date
Jamie Pine d9c7121c5b Merge branch 'main' into channels 2026-01-27 15:24:18 -08:00
Jamie Pine 008b58f91c put back gen files for now v0.1.3 2026-01-27 14:08:30 -08:00
Jamie Pine c7404411d5 Bump version: 0.1.2 → 0.1.3 2026-01-27 13:46:21 -08:00
Jamie Pine ac08c4fcf4 Remove unused .gitkeep files and adjust ProfileList component padding
- Deleted .gitkeep files from Generation, ServerSettings, VoiceProfiles, and hooks directories as they are no longer necessary.
- Updated the ProfileList component to increase bottom padding for improved layout consistency.
2026-01-27 13:46:08 -08:00
Jamie Pine 3ce7498495 Remove unused schema files and update .gitignore
- Deleted several JSON schema files related to capabilities and desktop configurations that are no longer needed.
- Updated .gitignore to exclude the entire generated assets directory instead of a specific file, improving version control management.
2026-01-27 13:42:35 -08:00
Jamie Pine ce2f09d29e Refactor useAutoUpdater hook for improved readability and update handling
- Rearranged import statements for better organization.
- Enhanced download progress handling logic for clarity and consistency.
- Ensured proper state updates during the download process, including setting download progress to 100% upon completion.
2026-01-27 13:18:33 -08:00
Jamie Pine f1be633dca Implement FloatingGenerateBox component and update App layout
- Introduced the FloatingGenerateBox component for audio generation, enhancing user interaction with voice profiles.
- Updated App component to integrate FloatingGenerateBox and removed the GenerationForm component.
- Enhanced the layout for better responsiveness and added functionality to manage audio playback state.
- Updated UpdateStatus component to include new update handling logic and improved UI feedback for update readiness.
2026-01-27 13:18:12 -08:00
Jamie Pine 5f58c4dc3d Refactor VoiceProfiles components and remove ProfileDetail
- Removed the ProfileDetail component to streamline the ProfileCard functionality.
- Updated ProfileCard to eliminate the detail view and associated state management.
- Enhanced ProfileForm to manage audio samples more effectively, including improved UI for sample management.
- Adjusted SampleList to ensure proper button types for better accessibility.
2026-01-26 22:28:29 -08:00
Jamie Pine 892f363e3a Update development server port and enhance GPU status reporting
- Changed the development server port in package.json from 17493 to 8000 for dev.
- Improved GPU availability checks in main.py to include support for MPS on Apple Silicon.
- Removed the Assets.car file from version control as it is no longer needed.
- Updated .gitignore to reflect the removal of Assets.car.
2026-01-26 22:18:59 -08:00
Jamie Pine 535cf362de Bump version: 0.1.1 → 0.1.2 v0.1.2 2026-01-26 21:04:11 -08:00
Jamie Pine f1116e05a6 Merge branch 'main' of https://github.com/jamiepine/voicebox 2026-01-26 21:01:55 -08:00
Jamie Pine f9aca9d418 Update development server port in package.json
- Changed the port for the development server from 8000 to 17493 to avoid conflicts and improve accessibility during local development.
2026-01-26 21:01:27 -08:00
Jamie Pine d913a9ae2a Implement audio format conversion and enhance recording completion handling
- Added a new utility function to convert audio blobs to WAV format, ensuring compatibility without requiring ffmpeg on the backend.
- Updated the useAudioRecording hook to convert recorded audio from WebM to WAV upon completion, with error handling for conversion failures.
- Improved the organization of imports in useAudioRecording for better readability.
2026-01-26 20:41:18 -08:00
Jamie Pine 36031a0df5 Enhance audio capture functionality and update dependencies
- Added support for capturing system audio on Windows using WASAPI with improved error handling and thread safety.
- Introduced the 'scopeguard' crate for better resource management during audio capture.
- Updated Cargo.toml to include 'scopeguard' and modified Windows-specific dependencies for enhanced functionality.
- Added a new test for validating audio capture output, ensuring the captured audio data is valid and non-empty.
2026-01-26 20:40:10 -08:00
Jamie Pine e59f86aa63 Refactor audio capture error handling and cleanup logic
- Removed console logging from the useSystemAudioCapture hook to streamline the code.
- Introduced error handling in the audio capture state to capture and report errors more effectively.
- Updated the cleanup logic to ensure proper handling of errors during audio capture on unmount.
- Enhanced error messages for better clarity when audio capture fails.
2026-01-26 20:12:37 -08:00
Jamie Pine b59c0f44e5 Enhance audio capture functionality in useSystemAudioCapture hook
- Added isRecordingRef to track recording state more reliably.
- Implemented console logging for key actions in startRecording and cancelRecording functions to aid in debugging.
- Updated cleanup logic on component unmount to ensure proper cancellation of recording if still active.
- Refactored condition checks to utilize isRecordingRef for improved performance and clarity.
2026-01-26 20:02:39 -08:00
Jamie Pine f8c5e54962 Add audio input entitlement and enhance audio sample extraction logic
- Added the `com.apple.security.device.audio-input` entitlement to the Entitlements.plist for improved audio capture capabilities.
- Refactored the audio sample extraction logic in macOS to handle both interleaved and planar audio formats, improving sample processing and interleaving of channels.
- Updated the Assets.car file to reflect changes in the audio capture implementation.
2026-01-26 19:39:09 -08:00
Jamie Pine 8b67faf96d Enhance update status display and audio sample components
- Improved the UpdateStatus component to show download progress and total bytes downloaded during updates.
- Refactored AudioSampleRecording and AudioSampleSystem components for cleaner button rendering and consistent layout.
- Updated import order in SampleUpload component for better organization.
2026-01-26 19:22:43 -08:00
Jamie Pine 30ea627ae8 Implement audio channel management features
- Added new components for managing audio channels, including creation, updating, and deletion of channels.
- Introduced a new AudioTab for channel management and integrated it into the main application layout.
- Updated the API client to support audio channel operations and added corresponding backend endpoints.
- Enhanced the player store to handle audio playback routing through assigned channels.
- Refactored existing components to accommodate the new audio channel functionality, including updates to the HistoryTable and GenerationForm for profile-channel associations.
- Improved sidebar navigation to include new tabs for Voices and Audio management.
2026-01-26 19:20:20 -08:00
Jamie Pine cd77b80b4f Refactor Windows audio capture implementation
- Introduced AtomicBool for stop signal handling to improve thread safety.
- Updated audio capture logic to utilize WASAPI more effectively, including error handling and buffer management.
- Enhanced the spawn mechanism for audio capture tasks to ensure compatibility with non-Send types.
- Added a new dependency on the 'windows' crate in Cargo.lock for improved functionality.
v0.1.1
2026-01-26 18:31:08 -08:00
Jamie Pine 12174010f9 Fix Windows audio capture API compatibility with wasapi 2026-01-26 17:56:18 -08:00
Jamie Pine 57c68040bc Remove bumpversion dependency from backend requirements 2026-01-26 17:41:25 -08:00
Jamie Pine d65704aa68 Enhance icon generation and update dependencies
- Added support for generating a multi-size Windows icon (icon.ico) in the update-icons.sh script.
- Updated Cargo.toml to include the 'windows' crate with specific features for Windows support.
- Bumped version of the 'voicebox' package from 0.1.0 to 0.1.1 in Cargo.lock.
- Updated .gitignore to exclude the generated Assets.car file.
2026-01-26 17:39:02 -08:00
Jamie Pine 83a6aca1ff Bump version: 0.1.0 → 0.1.1 2026-01-26 17:30:05 -08:00
Jamie Pine f18abc0da6 Add .bumpversion.cfg for version management
- Introduced .bumpversion.cfg to automate versioning across multiple files.
- Configured version updates for tauri.conf.json, Cargo.toml, and various package.json files.
- Set up commit and tag generation for new releases, streamlining the release process.
2026-01-26 17:29:06 -08:00
Jamie Pine 0f616ff1c1 Update CONTRIBUTING.md to include bumpversion instructions and enhance release process clarity; add bumpversion to backend requirements 2026-01-26 17:26:50 -08:00
Jamie Pine 7c4b1d4dd2 Remove UpdateNotification component and its usage in App.tsx
- Deleted the UpdateNotification component to streamline the application.
- Removed its invocation from the App component, enhancing the overall code clarity.
- Updated Assets.car file to reflect changes in the application structure.
2026-01-26 17:23:18 -08:00
Jamie Pine 48acc10422 Refactor Tauri server management and improve logging
- Updated the server management logic in main.rs to include the PID of the existing voicebox server when reusing it, enhancing clarity in logging.
- Improved the formatting of imports in App.tsx for better readability.
2026-01-26 17:20:46 -08:00
Jamie Pine 1fdf61ca2e Implement server reuse logic and improve build script formatting
- Added logic in main.rs to check for an existing voicebox server running on the designated port, allowing reuse of the server if found.
- Enhanced the build.rs script by improving formatting and readability of the Swift library path definitions.
- Updated logging to provide clearer warnings when the icon source is not found during the build process.
2026-01-26 17:17:57 -08:00
Jamie Pine 6a0601bd6c Update server URL handling and improve logging
- Changed the server URL from 'http://localhost:8000' to 'http://127.0.0.1:17493' in the server store and connection form.
- Enhanced server startup logging to display the dynamically assigned server URL.
- Updated server management logic in main.rs to reflect the new port configuration and improve orphaned process handling.
2026-01-26 17:13:13 -08:00
Jamie Pine 88d41f342b Implement server running preference and cleanup on exit
- Added `setKeepServerRunning` function to manage server persistence on app close.
- Integrated server running preference in `ConnectionForm` and synced settings on app startup.
- Enhanced server management in `main.rs` to handle orphaned processes based on user preference.
- Improved cleanup logic to ensure proper termination of server processes when not set to keep running.
2026-01-26 17:02:00 -08:00
Jamie Pine b1cf7926c7 Add audio sample components for recording, system capture, and upload
- Introduced `AudioSampleRecording`, `AudioSampleSystem`, and `AudioSampleUpload` components to handle audio recording, system audio capture, and file uploads respectively.
- Implemented play/pause functionality for audio playback across all components, enhancing user interaction.
- Refactored `ProfileForm` and `SampleUpload` to utilize new audio components, improving code organization and maintainability.
- Added hooks for audio playback management, ensuring consistent audio handling and cleanup across the application.
2026-01-26 16:44:49 -08:00
Jamie Pine 834323068d Enhance audio sample handling in ProfileForm and SampleUpload components
- Introduced play/pause functionality for audio samples, allowing users to preview uploaded audio files.
- Added drag-and-drop support for file uploads, improving user experience when selecting audio files.
- Refactored audio validation and error handling to ensure proper feedback for audio file requirements.
- Updated UI elements for better clarity and consistency in audio file management.
2026-01-26 16:38:52 -08:00
Jamie Pine 8cd868d33f Enhance audio recording functionality to improve duration handling
- Updated getAudioDuration function to utilize recordedDuration property for files, addressing metadata issues on Windows.
- Modified onRecordingComplete callbacks in audio recording hooks to pass the actual recorded duration.
- Adjusted error handling in ProfileForm and SampleUpload components to clear validation errors for recorded files.
- Ensured consistent handling of audio file duration across components.
2026-01-26 16:22:31 -08:00
Jamie Pine 446182e16c macos audio capture for sample creation 2026-01-26 16:05:42 -08:00
Jamie Pine c7c401b98c Refactor getLatestRelease function to improve file filtering for downloads
- Added logic to skip non-downloadable files such as signature, JSON, and text files.
- Updated conditions for identifying downloadable files for macOS, Windows, and Linux platforms to use `endsWith` for better accuracy.
2026-01-26 01:58:06 -08:00
Jamie Pine 595d735143 Update landing page to remove Linux support and adjust platform descriptions
- Modified metadata and various components to reflect the removal of Linux support, focusing on macOS and Windows.
- Updated descriptions in the layout, page, and footer components for consistency.
- Adjusted download links and icons to align with the new platform availability.
2026-01-26 01:56:44 -08:00
Jamie Pine 85935c1bbb Update HistoryTable component to improve user feedback for empty history state
- Modified the message displayed when there are no voice generations to be more concise and user-friendly.
- Adjusted the styling of the empty state message for better visual appeal.
v0.1.0
2026-01-26 01:17:59 -08:00
Jamie Pine 8058360744 Update README.md to enhance demo video visibility
- Wrapped the app screenshot in a link to the demo video on voicebox.sh for better accessibility.
- Added a descriptive text below the image to encourage users to click and watch the demo video.
2026-01-26 01:11:59 -08:00
Jamie Pine 47e4da7ce2 Update date formatting logic and replace binary assets
- Enhanced the formatDate function to handle date strings without timezone information by treating them as UTC.
- Updated binary assets including screenshots and application images for improved visual representation.
2026-01-26 01:10:22 -08:00
Jamie Pine b7ab4410a6 Update README.md to reflect new download links and remove Linux support
- Updated download links for macOS and Windows, including new file formats and naming conventions.
- Removed Linux download option, with a note indicating that Linux builds are coming soon due to GitHub runner disk space limitations.
2026-01-26 00:58:14 -08:00
Jamie Pine afd0381243 Update landing page metadata and reintroduce Header component
- Changed the title in metadata to reflect the open-source nature of the app.
- Reorganized the import statements to include the Header component for better structure.
- Streamlined the apple touch icon configuration in metadata.
2026-01-26 00:52:03 -08:00
Jamie Pine 2ceccaec51 Refactor global styles to utilize Tailwind CSS directives
- Replaced direct imports of Tailwind CSS with @tailwind directives for base, components, and utilities.
- Improved organization of global styles for better maintainability and adherence to Tailwind CSS conventions.
2026-01-26 00:45:03 -08:00
Jamie Pine 551abc9856 Enhance history management with export and import functionalities
- Added endpoints for exporting generations as ZIP archives and audio files.
- Implemented import functionality for generations from ZIP archives with validation.
- Updated HistoryTable component to support new export and import features.
- Improved error handling and user notifications for export/import processes.
- Refactored related hooks and API client methods to accommodate new functionalities.
2026-01-26 00:30:37 -08:00
Jamie Pine 333cb262e0 Add voice profile import functionality with file size validation
- Implemented a new endpoint to import voice profiles from ZIP archives.
- Added file size validation to ensure uploads do not exceed 100MB.
- Enhanced error handling for various exceptions during the import process.
- Cleaned up the import function by removing the previous implementation.
2026-01-26 00:08:27 -08:00
Jamie Pine 04bc1aded4 Implement active task management for downloads and generations, enhancing user experience with toast notifications for ongoing tasks. Refactor language handling in forms to support multiple languages. Update audio player to manage restart functionality and improve sidebar icon representation. Adjust progress tracking for model downloads in the backend. 2026-01-26 00:00:00 -08:00
Jamie Pine b2659e6a6d Refactor App and Sidebar components to support macOS, add TitleBarDragRegion for improved window dragging, and enhance model management with delete functionality and download progress tracking. Update audio player to handle audio resets more effectively and improve generation form with model download notifications. 2026-01-25 23:25:21 -08:00
Jamie Pine 090b1f6dde Add granular import logging and increase timeout to 120s 2026-01-25 22:25:27 -08:00
Jamie Pine d943e1d6d4 Remove all module exclusions 2026-01-25 22:01:57 -08:00
Jamie Pine d1273c3d33 Remove aggressive module exclusions - torch and stdlib need them 2026-01-25 22:01:38 -08:00