TechFreqs Custom Vehicles Radio Mod Changelog:



Previous Changelog:
V2.5(V2.0)
- Updated for v2.0 of 7 days to die
- Updated NullReferenceException because musicObject.GetComponent<MonoBehaviour>() is returning null.
But that means basically the MusicLoader script in the mod itself was added to my musicobject and once was created to run the coroutines for the tooltip messages it would crash but fixed
- Updated Tooltip fix for new version of the game
- Same features as V2.4
- Updated mod dll label for consistency 



Key features include:
Custom music playback (MP3, WAV, OGG, M4A) from a specified folder (i.e  Resources/VehicleTracks) The mod Scans a folder (Resources/VehicleTracks by default) for audio files or multiple audio tracks to be played in a single playlist format.
Caches track list for faster loading.
Configurable KeyBind settings for (volume, shuffle, loop, fade effects, audio filters playback).
These keys can be changed in the config json file. Follow the doc here for more info for what keys are supported : https://docs.unity3d.com/6000.0/Documentation/Manual/class-InputManager.html

Keybind controls for play/pause, next/previous track, volume, shuffle, and radio toggle.
Vehicle-specific activation (via radial menu or hotkeys) which Adds a "Toggle Radio" option to vehicle radial menus by holding the E key on said vehicle, waiting for Toggle to enable the mod, then entering the vehicle for immediate playback..
Audio follows the vehicle’s position thanks to spatial audio BUT NOT configurable.
Audio continues playing when exiting the vehicle unless the user is using keybind or radial menu to turn it off
Configurable radius proximity is 30m by default, if continued to play from vehicle, meaning the distance or proximity can beconfigured for how far away the vehicle is form the player and how far you can hear the music still playing when exiting the vehicle defaulted to 30m.
Smooth Fade in and out default to 2 seconds, upon playing and pausing or turning on or off the radio.
Dynamic volume adjustment (respects in-game music slider).


Technical bits:
Uses Harmony patches to hook into game methods.
UnityWebRequest for async audio loading.



Commands:
vplay, vpause, vstop, vnext, vprevious, vshuffle, vrescan.


Default Config Json:
{
  "vehicleTracks": "Resources/VehicleTracks",
  "volume": 1.0,
  "respectMusicSlider": true,
  "shuffleTracks": false,
  "fadeDuration": 2.0,
  "loop": true,
  "cycleTracks": true,
  "maxVehicleTracks": 50,
  "enableCustomRadioByDefault": true,
  "toggleKey": "Equals",
  "toggleRadioKey": "R",
  "playPauseKey": "L",
  "nextTrackKey": "U",
  "previousTrackKey": "P",
  "volumeUpKey": "Period",
  "volumeDownKey": "Comma",
  "shuffleKey": "Slash",
  "filterType": "none",
  "debugLogging": true,
  "maxDistance": 30.0
}
BUT IF set to a custom folder use double slashes, similar to the bloodmoon music mod.
"vehicleTracks": "C:\\Music\\Sounds\\music"



HowToUse:
In-Game Controls
Use the radial menu (default: hold E on a vehicle) to toggle the radio upper left corner.
Hotkeys (configurable):
R: Toggle radio on/off.
L: Play/pause.
U: Next track.
P: Previous track.
<,  or . > to adjust volume a.k.a period and comma: Adjust volume up or down.
/ slash key: Shuffle tracks (independent from config) but you can set in config to shuffle tracks instead of the key toggle when entering vehicles
but it works either way.
OR when entered in a vehicle you can also use F1 to access the console commands to run the radiotoggle
HOWEVER keep in mind when typing commands since its the R key tyou will hear it enable disable often advise to change to another key of your choosing..





V2.4 /V2.3
Key features include:

Custom music playback (MP3, WAV, OGG, M4A) from a specified folder.
Scans a folder (Resources/VehicleTracks by default) for audio files.
Caches track list for faster loading.

Configurable KeyBind settings for (volume, shuffle, loop, fade effects, audio filters).
Keybind controls for play/pause, next/previous track, volume, shuffle, and radio toggle.

Vehicle-specific activation (via radial menu or hotkeys).
Adds a "Toggle Radio" option to vehicle radial menus.
Audio follows the vehicle’s position.
Audio continues playing when exiting the vehicle unless using keybind or radial menu to turn it off
Configurable radius proximity is 30m by default, if continued to play from vehicle.
Smooth Fade in and out default to 2 seconds, upon playing and pausing or turning on or off the radio.

Dynamic volume adjustment (respects in-game music slider).

TechnicalBits:
Uses Harmony patches to hook into game methods.
UnityWebRequest for async audio loading.


New Commands:
vplay, vpause, vstop, vnext, vprevious, vshuffle, vrescan.


Default Config Json:

{
  "vehicleTracks": "Resources/VehicleTracks",
  "volume": 1.0,
  "respectMusicSlider": true,
  "shuffleTracks": false,
  "fadeDuration": 2.0,
  "loop": true,
  "cycleTracks": true,
  "maxVehicleTracks": 50,
  "enableCustomRadioByDefault": true,
  "toggleKey": "Equals",
  "toggleRadioKey": "R",
  "playPauseKey": "L",
  "nextTrackKey": "U",
  "previousTrackKey": "P",
  "volumeUpKey": "Period",
  "volumeDownKey": "Comma",
  "shuffleKey": "Slash",
  "filterType": "none",
  "debugLogging": true,
  "maxDistance": 30.0
}

BUT IF set to a custom folder use double slashes, similar to the bloodmoon music mod.

"vehicleTracks": "C:\\Music\\Sounds\\music"


HowToUse:
In-Game Controls

Use the radial menu (default: hold E on a vehicle) to toggle the radio upper left corner.

Hotkeys (configurable):
R: Toggle radio on/off.
L: Play/pause.
U: Next track.
P: Previous track.
<,  or . > to adjust volume a.k.a period and comma: Adjust volume up or down.
/ slash key: Shuffle tracks (independent from config) but you can set in config to shuffle tracks instead of the key toggle when entering vehicles
but it works either way.


OR when entered in a vehicle you can also use F1 to access the console commands to run the vtoggle or vplay command
HOWEVER keep in mind when typing commands since its the R key tyou will hear it enable disable often advise to change to another key of your choosing..


Still same issues from V2.4 into V2.5 
Known issues V2.4:
= It will say registered command etc command, and will say WRN command with name already loaded not lcoadding from class commands  log issue but functional
just means its avoiding adding the dupe command
= Sprite isn't working on radial menu and no proper identifier name for that radial button


V2.4
- Fixed Keybind issue, meaning that when pressing the togglekey R key, it wouldnt enable the mod or disable it just play and pause the music.
Now thats changed to where it will enable and play and or disable upon toggle, copying the effects like the radial menu
- Fixed vehicle issue, meaning when you would enter a new vehicle and toggling the R key to enable or disable the mod it wouldn't work unless, using radial menu and then it would switch to that vehicle, new code helps with that and adjust to the new vehicle accordingly.
- Added to debug log prefix in highlight lightblue / teal prefix for more of thank you and support message in logs 
- Added to debug log, the config JSON and showing what stings are loading
- Added to debug log, Volume update to value, max audio source distance, 
- Changed commands, 
- Added to debug log, adding toggle radio to vehicle radial menu, tooltip messages enabling disabling, as per action for commands.
- Fixed fade in and out defaulted to 2 seconds when enabling or disabling the radio



V1.0

Known Issue:
If entering a new vehicle, you have to use the radial menu to turn on the radio at first then enter the New vehicle and you can use the keybind or hotkey
for its functionality. ONLY new vehicles that you plan on using, if using an existing vehicle and you've gotten this far it will work with the current vehicle where you used the radial function on last.

Another issues, is that im going to remove, AudioFilter ignore that in config json leave it as none,
 you will get a log error saying that it is null and that it would be ignored anyways its just how it is and maybe a small double log of it starting up for loading music tracks however, again functional mod overall minus the audio or sound effects for music playback,real bummer on this feature but overall functionality is great.

Last issue:
Well radial menu sprite and name is off, it says radial in its technical form and the sprite is missing but functional :)


Previous Changelog:
V2.4
- Fixed Keybind issue, meaning that when pressing the togglekey R key, it wouldnt enable the mod or disable it just play and pause the music.
Now thats changed to where it will enable and play and or disable upon toggle, copying the effects like the radial menu
- Fixed vehicle issue, meaning when you would enter a new vehicle and toggling the R key to enable or disable the mod it wouldn't work unless, using radial menu and then it would switch to that vehicle, new code helps with that and adjust to the new vehicle accordingly.
- Added to debug log prefix in highlight lightblue / teal prefix for more of thank you and support message in logs 
- Added to debug log, the config JSON and showing what stings are loading
- Added to debug log, Volume update to value, max audio source distance, 
- Changed commands, 
- Added to debug log, adding toggle radio to vehicle radial menu, tooltip messages enabling disabling, as per action for commands.
- Fixed fade in and out defaulted to 2 seconds when enabling or disabling the radio

V1.0
Known Issue:
If entering a new vehicle, you have to use the radial menu to turn on the radio at first then enter the New vehicle and you can use the keybind or hotkey
for its functionality. ONLY new vehicles that you plan on using, if using an existing vehicle and you've gotten this far it will work with the current vehicle where you used the radial function on last.
Another issues, is that im going to remove, AudioFilter ignore that in config json leave it as none,
 you will get a log error saying that it is null and that it would be ignored anyways its just how it is and maybe a small double log of it starting up for loading music tracks however, again functional mod overall minus the audio or sound effects for music playback,real bummer on this feature but overall functionality is great.
Last issue:
Well radial menu sprite and name is off, it says radial in its technical form and the sprite is missing but functional :)
