<feed xmlns='http://www.w3.org/2005/Atom'>
<title>transcode.sh, branch main</title>
<subtitle>Batch transcode helper for media files using ffmpeg.</subtitle>
<id>https://git.dennisfink.me/transcode.sh/atom/?h=main</id>
<link rel='self' href='https://git.dennisfink.me/transcode.sh/atom/?h=main'/>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/'/>
<updated>2026-09-17T15:05:09Z</updated>
<entry>
<title>fix(presets): correct fast preset filenames</title>
<updated>2026-09-17T15:05:09Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-17T15:05:09Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=b278a651d350c3efc7f05efa6eb1457afc525a04'/>
<id>urn:sha1:b278a651d350c3efc7f05efa6eb1457afc525a04</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(help): align printf arguments</title>
<updated>2026-09-17T15:03:48Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-09-17T15:03:48Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=dfdb2bbf843df78aa7aac9005b73217016f54cac'/>
<id>urn:sha1:dfdb2bbf843df78aa7aac9005b73217016f54cac</id>
<content type='text'>
This keeps the size report file and ffmpeg loglevel defaults from being
swapped in the generated help output.
</content>
</entry>
<entry>
<title>fix(dry-run): join ffmpeg command safely</title>
<updated>2026-05-30T19:17:38Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-30T19:17:38Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=f61bff2f1dea92a0f1c0d0e5266889883f9cb325'/>
<id>urn:sha1:f61bff2f1dea92a0f1c0d0e5266889883f9cb325</id>
<content type='text'>
Use printf %q to build the verbose dry-run ffmpeg command as a single
space-separated string.

This makes the command display clearer and more copyable while
preserving shell-safe quoting for arguments that contain spaces or
special characters.
</content>
</entry>
<entry>
<title>feat(output): add no-replacement output mode</title>
<updated>2026-05-30T19:16:51Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-30T19:16:51Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=8d98f988a52dbfd7edc074725c628f24c20c270a'/>
<id>urn:sha1:8d98f988a52dbfd7edc074725c628f24c20c270a</id>
<content type='text'>
Add --output-dir and [processing].output_dir so encoded files can be
written to an existing output directory without replacing, moving, or
deleting originals.

Preserve input paths below the output directory, avoid overwriting
existing outputs with numeric suffixes, and keep --backup-dir compatible
with --output-dir.

Update finalization, backup, and size-report handling so replacement
mode and output-dir mode share the same output path flow.

Document the new mode in the README and man page, add bash completion
for the new option, and expand the size report schema with input and
output paths.

Closes #7.
</content>
</entry>
<entry>
<title>refactor(utils): use long option names</title>
<updated>2026-05-29T21:29:44Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-29T05:57:08Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=0d2d0535c9eada6beb928e57ac8f992801f00602'/>
<id>urn:sha1:0d2d0535c9eada6beb928e57ac8f992801f00602</id>
<content type='text'>
Replace short GNU option forms with their long equivalents in utility
and cleanup helpers to make option usage more self-documenting while
keeping existing BSD/macOS fallbacks unchanged where needed.
</content>
</entry>
<entry>
<title>refactor(config): remove skip.conf deprecation path</title>
<updated>2026-05-25T05:57:09Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-25T05:57:09Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=1f25fa369061a7dd1796d2f4def7242d4cb9ca2f'/>
<id>urn:sha1:1f25fa369061a7dd1796d2f4def7242d4cb9ca2f</id>
<content type='text'>
Remove the remaining skip.conf compatibility warning and related
constant now that skip.conf is no longer part of the supported
configuration flow.

Clean up the script header and man page so configuration documentation
only describes config.toml and the current [processing].skip_codecs
setting.
</content>
</entry>
<entry>
<title>refactor(config)!: reorganize processing settings</title>
<updated>2026-05-24T19:45:38Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-24T19:45:38Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=d576731f91231a3e38d3f7a9ebdd2fa2b229e7dc'/>
<id>urn:sha1:d576731f91231a3e38d3f7a9ebdd2fa2b229e7dc</id>
<content type='text'>
Move processing-related configuration keys out of [encoding] and [skip]
into a dedicated [processing] section.

Use [processing].skip_codecs, [processing].backup_dir,
[processing].only_if_smaller, [processing].verify_output, and
[processing].continue so the config structure matches the CLI help
sections.

Update README, man page, startup warnings, and debug output to use the
new configuration layout.

BREAKING CHANGE: config.toml keys for skip codecs and processing options
moved. Replace [skip].codecs with [processing].skip_codecs, and move
[encoding].backup_dir, [encoding].only_if_smaller,
[encoding].verify_output, and [encoding].continue to [processing].
Existing config files using the old keys must be updated.
</content>
</entry>
<entry>
<title>refactor(skip): inline skip codec parsing</title>
<updated>2026-05-24T19:27:11Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-24T19:27:11Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=f47b59167986789305fc209c75205290492145a6'/>
<id>urn:sha1:f47b59167986789305fc209c75205290492145a6</id>
<content type='text'>
Fold single-token skip codec handling into parse_skip_codec_parameter so
list splitting, normalization, empty-token handling, and duplicate
checks live in one place.

This removes an extra helper that was only used by the parser while
preserving the same comma, space, and colon separated skip-list
behavior.
</content>
</entry>
<entry>
<title>docs(cli): regroup option documentation</title>
<updated>2026-05-24T15:09:09Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-24T15:09:09Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=8804eba7a519bccc6c0ae6b90d666d4e1c09eaf0'/>
<id>urn:sha1:8804eba7a519bccc6c0ae6b90d666d4e1c09eaf0</id>
<content type='text'>
Reorganize CLI options into matching sections across help output,
README, man page, and bash completion.

Split input, encoding, skip, processing, size report, display, and
general options so related flags are easier to find and the documented
order matches the parser more closely.

Add --no-config to the README and man page while updating bash
completion order to follow the new help structure.
</content>
</entry>
<entry>
<title>refactor(config): simplify skip codec loading</title>
<updated>2026-05-23T13:02:49Z</updated>
<author>
<name>Dennis Fink</name>
</author>
<published>2026-05-23T13:02:49Z</published>
<link rel='alternate' type='text/html' href='https://git.dennisfink.me/transcode.sh/commit/?id=a049faf194165e74c8d75c85bb4473fedf7e6dbd'/>
<id>urn:sha1:a049faf194165e74c8d75c85bb4473fedf7e6dbd</id>
<content type='text'>
Load configured skip codecs through the same parser used for CLI values
instead of iterating over TOML array entries separately.

This keeps skip codec normalization and empty-token handling in one
place while preserving the merged config and CLI behavior.

Clarify config debug messages with full TOML key names and include the
continue setting in the effective configuration output.
</content>
</entry>
</feed>
