Skip to content

Latest commit

 

History

History
137 lines (110 loc) · 6.75 KB

File metadata and controls

137 lines (110 loc) · 6.75 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.3.2 - 2026-04-21

Fixed

  • Fixed retrieve_enhanced_track using wrong response key revived_track_tasks_results (snake_case) — now correctly reads revivedTrackTaskResults (camelCase) from the server response
  • Rewrote inaccurate docstrings across all retrieval methods to reflect actual server response shapes

Added

  • Typed response dataclasses for all retrieval endpoints, replacing raw dict returns:
    • EnhancedTrackResult — fields: download_url_preview_revived, download_url_revived, stems, preview_start_time
    • PreviewMixResult — fields: download_url_preview_mixed, stems, mix_output_settings, status
    • FinalMixResult — fields: download_url_mixed, stems, mix_output_settings
    • PreviewMasterResult — fields: download_url_mastered_preview, preview_start_time
    • FinalMasterResult — fields: download_url_mastered
    • AnalysisResult — fields: payload, error, info, completion_time
  • All new response types are exported from roex_python.models

Changed

  • retrieve_enhanced_track now returns EnhancedTrackResult instead of dict
  • retrieve_preview_mix now returns PreviewMixResult instead of Dict
  • retrieve_final_mix and retrieve_final_mix_advanced now return FinalMixResult instead of Dict
  • retrieve_preview_master now returns PreviewMasterResult instead of Dict
  • retrieve_final_master now returns FinalMasterResult instead of Dict
  • analyze_mix now returns AnalysisResult instead of Dict

1.3.1 - 2026-04-21

Fixed

  • Aligned EnhanceMusicalStyle enum with server — replaced incorrect values with 18 correct styles (e.g. ROCK_INDIE, GRITTY_CRUNCHY, BALANCED)
  • Aligned AnalysisMusicalStyle enum with server — removed DANCE, added 9 mood-based styles (AIRY_EXPANSIVE, AGGRESSIVE, BRIGHT, etc.)
  • Renamed SoundSource.BACKING_VOCALS_GROUP to BACKING_VOX_GROUP to match server
  • Added missing SoundSource.BRASS_GROUP enum member
  • Added missing LoudnessPreference.NO_CHANGE enum member
  • Changed MixEnhanceRequest.loudness_preference default from STREAMING_LOUDNESS to NO_CHANGE to match server default
  • Removed MixEnhanceRequest.fix_drc_issues field (not supported by server)
  • webhookURL is now only included in payloads when explicitly provided, preventing server errors from empty strings
  • Added tenacity to install_requires / dependencies — was imported but missing from package metadata, causing ModuleNotFoundError at import time

Added

  • MixEnhanceRequest.get_processed_stems field for requesting separated stems from enhancement
  • MixEnhanceRequest.apply_drum_enhancement and apply_vocal_enhancement fields (required by server)

Changed

  • Updated examples, docstrings, and README to reflect all model and enum changes

1.3.0 - 2025-10-30

Added

  • Advanced Audio Effects Processing: New comprehensive audio effects system for final mix retrieval
    • 6-Band Parametric EQ: Full parametric EQ with per-band gain (-20 to +20 dB), Q factor (0.1 to 10.0), and centre frequency (20 Hz to 20 kHz) control
    • Dynamic Range Compression: Professional compression with threshold, ratio, attack, and release controls
    • Stereo Panning: Precise stereo positioning with -60? to +60? range
    • Effect Presets: Built-in professional presets for common use cases:
      • EQ Presets: preset_bass_boost(), preset_vocal_clarity(), preset_kick_punch(), preset_snare_crack(), preset_high_pass(), preset_brightness()
      • Compression Presets: preset_vocal(), preset_bass(), preset_drum_bus(), preset_gentle(), preset_aggressive()
      • Panning Presets: center(), hard_left(), hard_right(), slight_left(), slight_right()
  • New Models:
    • EQBandSettings: Individual EQ band configuration
    • EQSettings: 6-band parametric EQ container
    • CompressionSettings: Dynamic range compression configuration
    • PanningSettings: Stereo panning control
    • TrackEffectsData: Advanced track data with all effects
    • FinalMixRequestAdvanced: Enhanced final mix request with audio effects
  • New Controller Method: retrieve_final_mix_advanced() for applying advanced audio effects to final mixes
  • Track Count Validation: Client-side validation enforcing 2-32 track limit for mix preview requests (API requirement)
  • Comprehensive Example: examples/advanced_mix_example.py demonstrating full advanced audio effects workflow with preset showcase mode (--show-examples)

Changed

  • Updated RoExClient docstring to document advanced mixing features
  • Enhanced error handling in mix controller with proper HTTPError attribute checking
  • Improved test coverage to 95% with 119 unit tests and 13 integration tests

Fixed

  • Fixed test assertion in test_mix_controller.py to match actual error message format
  • Corrected webhook URL documentation in examples to clarify test URL usage
  • Fixed pre-existing test failures related to error message matching

Documentation

  • Added comprehensive docstrings for all new audio effects classes and methods
  • Updated examples/README.md with advanced audio effects usage
  • Added parameter range documentation and validation rules
  • Included workflow examples for preset-based and custom effects configuration

1.2.1 - 2024-XX-XX

Changed

  • Various bug fixes and improvements
  • Documentation enhancements

1.2.0 - 2024-XX-XX

Added

  • Sphinx documentation
  • Comprehensive test suite with pytest
  • Retry logic for API requests

Changed

  • Enhanced documentation throughout codebase
  • Improved error handling

1.1.1 - 2024-XX-XX

Fixed

  • Minor bug fixes

1.1.0 - 2024-XX-XX

Added

  • Additional features and improvements

1.0.0 - 2024-XX-XX

Added

  • Initial release
  • Core RoEx Tonn API client functionality
  • Multitrack mixing support
  • Audio mastering capabilities
  • Mix analysis features
  • Mix enhancement tools
  • Audio cleanup functionality
  • Asynchronous task polling
  • Secure file upload/download