AuburnSounds / AuburnSounds/Dplug

Client vs Host architeture

Open
#532 0 comments 0 reactions 0 assignees View on GitHub
Enhancement Super hard
Dominant language
D
Stars
564
Forks
34
PR merge metrics
No merged PRs in 30d

Description

Currently, `dplug:host` depends on every plugin client subpackage.

It should be the reverse way, like for `dplug:client`: every format depends on `dplug:host` (which should be runtimefree) and implement one client host.

This will tie client and host implementations for the same format, but I feel like they it's just a bit of code vs ressources. This will allow to create a host program specifically for format X and Y.

Contributor guide

Open the contributing guide

Research direction

Start by mapping the dependency graph between dplug:host, dplug:client, and each format package. Check how host and client implementations are currently connected, then verify that dplug:host can run without plugin clients while each format supplies its own client host. No files or tests are named, so identifying those entry points is part of the work.

Written by the indexing model from the issue text.

Assessment

Domain
audio-video-rtc
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.