mirror of
https://github.com/onyx-and-iris/voicemeeter-compact.git
synced 2026-04-08 17:03:32 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a3fa227ac1 | |||
| b1b6c66828 | |||
| cb00de36f0 | |||
| ae200068d0 | |||
| b720494c68 | |||
| 6e6308a17f |
20
README.md
20
README.md
@@ -65,15 +65,18 @@ Set the kind of Voicemeeter, KIND_ID may be:
|
||||
|
||||
## TOML Files
|
||||
|
||||
This is how your files should be organised. Wherever your `__main__.py` file is located (after install this can be any location), `configs` should be in the same location.
|
||||
Directly inside of configs directory you may place an app.toml, vban.toml and a directory for each kind.
|
||||
Inside each kind directory you may place as many custom toml configurations as you wish.
|
||||
If you've downloaded the binary from [Releases][releases] you can find configs included in the `_internal/configs` directory.
|
||||
|
||||
You may override these configs by placing a directory `vm-compact` in one of the following locations:
|
||||
|
||||
- `user home directory / .config`
|
||||
- `user home directory / Documents / Voicemeeter`
|
||||
|
||||
The contents should match the following directory structure:
|
||||
|
||||
.
|
||||
|
||||
├── `__main__.py`
|
||||
|
||||
├── configs
|
||||
├── vm-compact
|
||||
|
||||
├── app.toml
|
||||
|
||||
@@ -111,7 +114,7 @@ Configure certain startup states for the app.
|
||||
Configure a user config to load on app startup. Don't include the .toml extension in the config name.
|
||||
|
||||
- `theme`
|
||||
By default the app loads up the [Sun Valley light or dark theme][def] by @rdbende. You have the option to load up the app without any theme loaded. Simply set `enabled` to false and `mode` will take no effect.
|
||||
By default the app loads up the [Sun Valley light or dark theme][releases] by @rdbende. You have the option to load up the app without any theme loaded. Simply set `enabled` to false and `mode` will take no effect.
|
||||
|
||||
- `extends`
|
||||
Extending the app will show both strips and buses. In reduced mode only one or the other. This app will extend both horizontally and vertically, simply set `extends_horizontal` true or false accordingly.
|
||||
@@ -164,4 +167,5 @@ User configs may be loaded at any time via the menu.
|
||||
[Rdbende](https://github.com/rdbende) for creating the beautiful [Sun Valley theme][sv-theme].
|
||||
|
||||
|
||||
[sv-theme]: https://github.com/rdbende/Sun-Valley-ttk-theme
|
||||
[sv-theme]: https://github.com/rdbende/Sun-Valley-ttk-theme
|
||||
[releases]: https://github.com/onyx-and-iris/voicemeeter-compact/releases
|
||||
12
poetry.lock
generated
12
poetry.lock
generated
@@ -223,18 +223,18 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "vban-cmd"
|
||||
version = "2.4.12"
|
||||
version = "2.5.0"
|
||||
description = "Python interface for the VBAN RT Packet Service (Sendtext)"
|
||||
optional = false
|
||||
python-versions = "<4.0,>=3.10"
|
||||
python-versions = ">=3.10"
|
||||
groups = ["main"]
|
||||
files = [
|
||||
{file = "vban_cmd-2.4.12-py3-none-any.whl", hash = "sha256:418f97a22b474f97e985149eedcd66756e2a192c92225cdf5c37640f235e46e8"},
|
||||
{file = "vban_cmd-2.4.12.tar.gz", hash = "sha256:3bc1b0ff584d1c3e611d9f0c29d4a8a1a017ebcb891bf0c8ee458a95e711ec06"},
|
||||
{file = "vban_cmd-2.5.0-py3-none-any.whl", hash = "sha256:22a19037066487d464a61941a3b85a0331b498a9efb1bcacdc932e9d06c5bf87"},
|
||||
{file = "vban_cmd-2.5.0.tar.gz", hash = "sha256:691a852e5052e50103839b06a0a9d0746b90df3346545c2cf4f10b099d9666e4"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
tomli = {version = ">=2.0.1,<3.0.0", markers = "python_version < \"3.11\""}
|
||||
tomli = {version = ">=2.0.1,<3.0", markers = "python_version < \"3.11\""}
|
||||
|
||||
[[package]]
|
||||
name = "voicemeeter-api"
|
||||
@@ -254,4 +254,4 @@ tomli = {version = ">=2.0.1,<3.0", markers = "python_version < \"3.11\""}
|
||||
[metadata]
|
||||
lock-version = "2.1"
|
||||
python-versions = ">=3.10,<3.14"
|
||||
content-hash = "dcdeea1bbc5ce5b15a8aa22261b8958926d8ee28a9651544260df76887dea8cc"
|
||||
content-hash = "19c384acd36868a5bfdc3f3173f444858136603694c3f1134c0d30cd17157651"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "voicemeeter-compact"
|
||||
version = "1.9.5"
|
||||
version = "1.9.8"
|
||||
description = "A Compact Voicemeeter Remote App"
|
||||
authors = [
|
||||
{name = "Onyx and Iris",email = "code@onyxandiris.online"}
|
||||
@@ -10,11 +10,16 @@ readme = "README.md"
|
||||
requires-python = ">=3.10,<3.14"
|
||||
dependencies = [
|
||||
"voicemeeter-api (>=2.6.1,<3.0.0)",
|
||||
"vban-cmd (>=2.4.12,<3.0.0)",
|
||||
"vban-cmd (>=2.5.0,<3.0.0)",
|
||||
"sv-ttk (>=2.6.0,<3.0.0)",
|
||||
"tomli (>=2.0.1,<3.0) ; python_version < '3.11'",
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
gui-basic = "vmcompact.gui.basic:run"
|
||||
gui-banana = "vmcompact.gui.banana:run"
|
||||
gui-potato = "vmcompact.gui.potato:run"
|
||||
|
||||
[tool.poetry]
|
||||
packages = [{ include = "vmcompact" }]
|
||||
include = ["vmcompact/img/cat.ico"]
|
||||
|
||||
@@ -12,14 +12,14 @@ configuration = {}
|
||||
|
||||
|
||||
def get_configpath():
|
||||
configpaths = [
|
||||
for pn in (
|
||||
Path.home() / '.config' / 'vm-compact',
|
||||
Path.home() / 'Documents' / 'Voicemeeter' / 'vm-compact',
|
||||
Path.cwd() / '_internal' / 'configs',
|
||||
Path.cwd() / 'configs',
|
||||
Path.home() / '.config' / 'vm-compact' / 'configs',
|
||||
Path.home() / 'Documents' / 'Voicemeeter' / 'configs',
|
||||
]
|
||||
for configpath in configpaths:
|
||||
if configpath.exists():
|
||||
return configpath
|
||||
):
|
||||
if pn.exists():
|
||||
return pn
|
||||
|
||||
|
||||
if configpath := get_configpath():
|
||||
|
||||
1
vmcompact/gui/banana/__init__.py
Normal file
1
vmcompact/gui/banana/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .main import run
|
||||
11
vmcompact/gui/banana/main.py
Normal file
11
vmcompact/gui/banana/main.py
Normal file
@@ -0,0 +1,11 @@
|
||||
import voicemeeterlib
|
||||
|
||||
import vmcompact
|
||||
|
||||
|
||||
def run():
|
||||
KIND_ID = 'banana'
|
||||
|
||||
with voicemeeterlib.api(KIND_ID) as vmr:
|
||||
app = vmcompact.connect(KIND_ID, vmr)
|
||||
app.mainloop()
|
||||
1
vmcompact/gui/basic/__init__.py
Normal file
1
vmcompact/gui/basic/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .main import run
|
||||
11
vmcompact/gui/basic/main.py
Normal file
11
vmcompact/gui/basic/main.py
Normal file
@@ -0,0 +1,11 @@
|
||||
import voicemeeterlib
|
||||
|
||||
import vmcompact
|
||||
|
||||
|
||||
def run():
|
||||
KIND_ID = 'basic'
|
||||
|
||||
with voicemeeterlib.api(KIND_ID) as vmr:
|
||||
app = vmcompact.connect(KIND_ID, vmr)
|
||||
app.mainloop()
|
||||
1
vmcompact/gui/potato/__init__.py
Normal file
1
vmcompact/gui/potato/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
from .main import run
|
||||
11
vmcompact/gui/potato/main.py
Normal file
11
vmcompact/gui/potato/main.py
Normal file
@@ -0,0 +1,11 @@
|
||||
import voicemeeterlib
|
||||
|
||||
import vmcompact
|
||||
|
||||
|
||||
def run():
|
||||
KIND_ID = 'potato'
|
||||
|
||||
with voicemeeterlib.api(KIND_ID) as vmr:
|
||||
app = vmcompact.connect(KIND_ID, vmr)
|
||||
app.mainloop()
|
||||
@@ -421,7 +421,7 @@ class Menus(tk.Menu):
|
||||
del self.parent.__dict__['userconfigs']
|
||||
self.menu_setup()
|
||||
|
||||
self.after(15000, self.enable_vban_menus)
|
||||
self.after(500, self.enable_vban_menus)
|
||||
|
||||
def documentation(self):
|
||||
webbrowser.open_new(r'https://voicemeeter.com/')
|
||||
|
||||
Reference in New Issue
Block a user