This tree is a fork of DeVeDe-NG that adds embedded-subtitle hardsubbing (burn-in), selectable DVD encode profiles, and automatic splitting of long projects across multiple ISOs/DVD-Rs. See FORK_NOTES.md for details.
Find a file
Luna 46c6d162a0 Harden subprocess I/O against pipe-backpressure deadlock (roadmap A2)
The executor drained child stdout/stderr via GLib.IOChannel watches on the
main loop, so a stalled or wedged GUI stopped draining the pipes and the
child would block on a full (~64KB) pipe forever — the cascade that froze a
batch when the editor/terminal died.

Replace the main-loop watches with per-stream background reader threads that
drain pipes with blocking reads into thread-safe buffers; a GLib timer on the
main thread consumes the buffers and does all parsing/UI (threads never touch
GObject/GTK). Now the child can never block on a pipe we own, regardless of
main-loop state. Also: stdout can go straight to a file when requested, stdin
is fed from a file in a thread, the retained end-of-job log is bounded, and
wait_end is guarded to run once.

Tests (tests/test_executor_io.py): line parsing incl. CR progress lines,
2MB output with no loss/deadlock, completion with the main loop never running
(the wedged-GUI case), cancel, stdout-to-file, and exit-code propagation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 23:52:09 -07:00
.forgejo/workflows Add pytest suite and CI (roadmap A1) 2026-06-04 22:26:22 -07:00
contrib Document the hardsub/auto-split fork 2026-06-02 12:54:37 -07:00
debian Update debian files 2026-02-19 19:48:12 +01:00
po po: Add Georgian translation 2026-02-22 14:16:20 +00:00
src Harden subprocess I/O against pipe-backpressure deadlock (roadmap A2) 2026-06-04 23:52:09 -07:00
tests Harden subprocess I/O against pipe-backpressure deadlock (roadmap A2) 2026-06-04 23:52:09 -07:00
.gitignore Add pytest suite and CI (roadmap A1) 2026-06-04 22:26:22 -07:00
CLAUDE.md Add pytest suite and CI (roadmap A1) 2026-06-04 22:26:22 -07:00
COPYING Added missing dependencies for deb and rpm packages 2015-04-29 13:44:39 +02:00
FORK_NOTES.md Document the hardsub/auto-split fork 2026-06-02 12:54:37 -07:00
HISTORY.md Fix Fedora 2026-02-19 19:45:53 +01:00
pyproject.toml Update version in toml 2026-02-19 19:53:01 +01:00
pytest.ini Add pytest suite and CI (roadmap A1) 2026-06-04 22:26:22 -07:00
README.md Document the hardsub/auto-split fork 2026-06-02 12:54:37 -07:00
ROADMAP.md Add project roadmap 2026-06-04 05:22:14 -07:00
setup.py Migrate to pyproject.toml 2024-12-21 23:20:22 +01:00
stdeb.cfg Fix dependencies 2026-02-18 19:33:10 +01:00
stpacman.cfg Fix error when duration is N/A 2023-12-17 20:28:25 +00:00

DEVEDE NG

Fork note: This tree is a fork of DeVeDe-NG that adds embedded-subtitle hardsubbing (burn-in), selectable DVD encode profiles, and automatic splitting of long projects across multiple ISOs/DVD-Rs. See FORK_NOTES.md for details.

WHAT IS IT?

Devede NG is a rewrite of the Devede DVD disc authoring program. This new code has been written from scratch, and uses Python3 and Gtk3. It is also cleaner, which will allow to add new features in the future.

INSTALLING DEVEDE NG FROM SOURCES

First, be sure that you have uninstalling any package with devede. Then, Just type:

sudo python3 -m pip uninstall -y devedeng
sudo python3 -m pip install .
sudo update-icon-caches /usr/share/icons/hicolor

If you receive a notification 'error: externally-managed-environment', you can override it by using

sudo python3 -m pip uninstall --break-system-packages -y devedeng
sudo python3 -m pip install --break-system-packages .
sudo update-icon-caches /usr/share/icons/hicolor

Also, remember that you need the setuptools and setuptools-gettext modules installed in your system.

USING DEVEDE NG

Devede NG is very similar to the old devede, with the exception that, when creating a DVD disc, there are no more "titles" and "files". Instead, you just add files to the disc. It also lacks support for Mencoder, and can use only FFMpeg or AVConv for video conversion.

The current visible changes are quite small in number:

  • Now allows to add several files at once
  • Now makes better use of multicore systems by parallelizing the conversion of several movie files
  • The menu edition is interactive
  • Has a new "cut" resizing method, to allow to store as widescreen movies with black bars
  • Allows to create Matroska files with H.264 video and MP3 audio
  • Allows to use VLC, MPV or MPlayer for preview
  • Allows to choose between Brasero or K3B for burning the discs
  • Allows to set properties for several files in one step
  • Allows to choose the subtitle colors
  • Allows to choose between MP2 and AC3 audio for menus

THINGS TO DO

Some of the future ideas to add to Devede NG are, without an specific order:

  • add more backends
  • add more output formats
  • allow to replace the movie's audio track with one or several MP3 or OGG audio files
  • preview of a converted menu

CONTACTING THE AUTHOR

Sergio Costas Rodriguez
rastersoft@gmail.com
http://www.rastersoft.com
https://gitlab.com/rastersoft/devedeng.git