Repository navigation
Feature/v2.0.0 arrangement - #1
Merged
Merged
Conversation
…ion for audio assets and arrangements, replacing old RPY config files.
…changelog generation.
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.
RenPy Dynamic Ambient System v2.0.0 - Release Notes
🎉 Major Changes
1. YAML Configuration
What changed: Complete migration from Python-based configuration to YAML files.
Before:
After:
Benefits:
2. Creator-Defined Statements (CDS)
What's new: New commands for controlling ambient directly from Ren'Py scripts.
File:
libs/rpda/02-rpda-cds.rpyAvailable commands:
Arrangement Control
Layer Control
Volume and Control
Scheduling
Debugging
Benefits:
$ python_codeblocks3. Arrangement System
What's new: Concept of "arrangements" - preset audio scenes.
File:
arrangements.yamlExample:
Features:
Usage:
4. Strict Track Isolation
What improved: Tracks not in current arrangement are automatically stopped.
Before: Tracks could "leak" between arrangements, creating overlaps.
After: System guarantees only tracks defined in active arrangement and its layers play.
Example:
5. Random Containers
What's new: Ability to specify multiple files for one track.
Configuration:
Behavior: Each time the track plays, one file is randomly selected.
Benefits:
6. Automatic Initialization
What changed: System automatically loads configuration on creation.
Before:
After:
What happens automatically:
audio_assets.yamlarrangements.yaml7. Enhanced Debugging
What's new: Extended debugging tools.
Debug UI:
Shows:
Debug commands:
📋 Migration from v1.x
Step 1: Install Dependencies
# Install PyYAML in game/python-packages pip install pyyaml -t game/python-packagesStep 2: Create YAML Configurations
audio_assets.yaml:
arrangements.yaml:
Step 3: Remove Obsolete Files
ambient_config.rpy(replaced byaudio_assets.yaml)ambient_templates.rpy(functionality moved to arrangements)setup_ambientandsetup_main_themecallsStep 4: Update Code
Before:
After:
Step 5: Optional CDS Installation
If you need
ambientcommand support:🔧 Technical Details
File Structure
Backward Compatibility
Python API preserved:
What's removed:
ambient.add_track()- now only via YAMLambient.use_template()- replaced by arrangements🎯 Recommendations
For New Projects
For Existing Projects
📊 Version Comparison
🐛 Known Limitations
ambient stop: Commandambient stop fade Xignores specific time, uses maximum from tracks.toggle_ambient_debugmust be defined indebug_ambient.rpyforambient debug uito work.📝 Changelog
Added
audio_assets.yaml,arrangements.yaml)Changed
Removed
ambient_config.rpy(replaced by YAML)ambient_templates.rpy(replaced by arrangements)setup_ambient,setup_main_theme)Fixed
default ambient🙏 Acknowledgments
Thanks to everyone who tested and provided feedback!
Version: 2.0.0
Release Date: 2025-11-27
License: MIT