[Experiment, ignore] Add include_positioning parameter to BaseWriter to control positioning output #349
  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.
  
    
  
    
This PR adds a new
include_positioningboolean parameter to theBaseWriterclass that allows users to control whether positioning information is included in caption output files.Problem
Users had no way to write caption files while ignoring positioning information. All writers would always process and include positioning data when present, even when users wanted clean output with default positioning only.
Solution
Added
include_positioning=Trueparameter toBaseWriter.__init__()that:True(default): Preserves existing behavior - positioning information is processed and includedFalse: Ignores all positioning information and uses default positioningImplementation Details
BaseWriter (
pycaption/base.py)include_positioningparameter with defaultTruefor backward compatibility_relativize_and_fit_to_screen()to returnNonewhen positioning should be ignoredWebVTTWriter (
pycaption/webvtt.py)_convert_positioning()to checkself.include_positioningand return empty string when disabledDFXPWriter (
pycaption/dfxp/base.py)_relativize_and_fit_to_screen()include_positioningsettingExample Usage
Results
DFXP Output Comparison:
WebVTT Output Comparison:
Backward Compatibility
✅ All existing code continues to work unchanged
✅ Default behavior preserved (
include_positioning=True)✅ All existing tests pass
✅ Works with all writers that inherit from BaseWriter
Testing
Fixes #109.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.