Skip to content

Commit

Permalink
Switch back to TOML for the configuration file.
Browse files Browse the repository at this point in the history
  • Loading branch information
fgimian committed Jan 27, 2025
1 parent 4606937 commit 8600e24
Show file tree
Hide file tree
Showing 26 changed files with 334 additions and 854 deletions.
12 changes: 4 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,20 +69,16 @@ a configuration file.

Start by browsing to `%APPDATA%` in Windows Explorer and creating a directory named
"TotalMix Volume Control". Now download the
[sample configuration file](https://github.com/fgimian/totalmix-volume-control/blob/main/config.sample.json),
rename it to "config.json" and place it in the directory you created.
[sample configuration file](https://github.com/fgimian/totalmix-volume-control/blob/main/config.sample.toml),
rename it to "config.toml" and place it in the directory you created.

You may open this file in any text editor and read the included instructions to configure the
application. All the pre-filled values you see in the sample configuration are optional and
represent the application defaults.

Despite being a JSON file, TotalMix Volume Control supports comments and trailing commas in the
configuration (as per the sample).

You may live-reload your updated configuration by right-clicking on the TotalMix Volume Control
tray icon and selecting "Reload config" which will update all settings except those related to
OSC (i.e. hostnames and ports). You will need to restart the application if you wish to change
OSC settings.
tray icon and selecting "Reload config" which will update all settings except the incoming OSC
endpoint which requires an application restart to be changed.

## Building from Source

Expand Down
2 changes: 1 addition & 1 deletion TotalMixVC.iss
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
; The version needs to be passed explicitly via /DAppVersion=0.1.0 as GitVersion is used to
; determine the release version. Alternatively, the option below may be uncommented if required.
; determine the release version. Alternatively, the option below may be uncommented if required.
; #define AppVersion "1.0"

; The build configuration needs to be passed explicitly via /DAppBuildConfiguration=Release or
Expand Down
91 changes: 0 additions & 91 deletions config.sample.json

This file was deleted.

81 changes: 81 additions & 0 deletions config.sample.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# TotalMix Volume Control sample configuration file.
#
# All the pre-filled values you see in this file are optional and represent the application
# defaults.
#
# Colors may be specified as regular color names such as "blue", along with hex colors with RGB or
# ARGB components (note that the alpha channel needs to be first if you ant transparency).

[osc]
# The address and port that TotalMix Volume Control should send to. TotalMixFX listens on 0.0.0.0
# so the address may be any IP address on your network. Generally 127.0.0.1 (localhost) is
# recommended. The port should be set to match the "Port incoming" setting in TotalMixFX.
outgoing_endpoint = "127.0.0.1:7001"

# The address and port that TotalMix Volume Control should receive from. This should be set to
# match the "Port outgoing" setting in TotalMixFX.
incoming_endpoint = "127.0.0.1:9001"

[volume]
# Whether to use dB units for volume increments and max values. See below for valid values when
# decibels are used.
use_decibels = false

# The amount that the volume should be increased when using the volume keys.
# - Percentage: Up to max of 0.10 which will increase the volume by 10%.
# - Decibels: Up to max of 3.0 dB in multiples of 0.5 (e.g. 0.5, 1.0, 1.5, etc.).
increment = 0.02

# The amount that the volume should be increased when using the volume keys and holding shift down.
# - Percentage: Up to a max of 0.05 which will increase the volume by 5%.
# - Decibels: Up to max of 1.5 dB in multiples of 0.5 (i.e.. 0.5, 1.0 or 1.5). When using decibels,
# it is generally a good idea to ensure the fine increment is a multiple of increment.
fine_increment = 0.01

# The maximum volume to send.
# - Percentage: Up to a max of 1.0 which is 100% volume.
# - Decibels: Up to max of 6.0 dB.
max = 1.0

[theme]
# The main widget and tray tooltip background corner rounding and color.
background_rounding = 10.0
background_color = "#e21e2328"

# The TotalMix Volume heading text colors.
heading_totalmix_color = "#ffffff"
heading_volume_color = "#e06464"

# The main decibel volume readout text colors.
volume_readout_color_normal = "#ffffff"
volume_readout_color_dimmed = "#ffa500"

# The horizontal volume bar colors.
volume_bar_background_color = "#333333"
volume_bar_foreground_color_normal = "#999999"
volume_bar_foreground_color_dimmed = "#996500"

# The tray tooltip text message color.
tray_tooltip_message_color = "#ffffff"

[interface]
# Scale the interface by a particular factor (e.g. 2.0 will be twice as large).
scaling = 1.0

# The position offset from the top left corner to display the widget at.
position_offset = 40.0

# The amount of time in seconds to display the widget upon hitting the volume keys before
# beginning the fade out animation.
hide_delay = 2.0

# The duration of the fade out animation in seconds.
fade_out_time = 1.0

# Whether to show the indicator any time the volume is changed via the device or any other
# external means (e.g. an RME ARC controller).
#
# Please note that in my testing RME devices send volume changes at infrequent but random times,
# even when the volume has not been changed intentionally. This is ultimately why this setting is
# off by default.
show_remote_volume_changes = false
47 changes: 0 additions & 47 deletions src/TotalMixVC.Tests/ConfigConverters/IPAddressConverterTests.cs

This file was deleted.

This file was deleted.

62 changes: 0 additions & 62 deletions src/TotalMixVC.Tests/ConfigConverters/PortIntegerConverterTests.cs

This file was deleted.

Loading

0 comments on commit 8600e24

Please sign in to comment.