You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Note**: xvfb is a linux program and can these tests must be passed on a linux distribution--though this project is for macOS and Windows too, linux is the only one tested due to audio loop back issues with the former.
71
+
72
+
The continuous integration (CI) process also includes linting with flake8, so check for linting issues before pushing
73
+
74
+
```bash
75
+
flake8 audio_visualizer tests
76
+
```
77
+
78
+
For more details on the CI/CD processes, ses the `.github/workflows/ci.yml` file
79
+
80
+
## Code Style and Documentation
81
+
82
+
The code must adhere to the Google style for docstring in this codebase. Please ensure that all public classes and functions include doctrings that follow this format:
83
+
84
+
```python
85
+
classClassName:
86
+
"""
87
+
Short description.
88
+
89
+
Attributes:
90
+
attribute1 (type): Description
91
+
attribute2 (type): Description
92
+
...
93
+
"""
94
+
95
+
defMethod(args):
96
+
"""
97
+
method_name: Description
98
+
99
+
Args:
100
+
arg1 (type): Description
101
+
arg2 (type): Description
102
+
...
103
+
104
+
Returns:
105
+
return1 (type): description
106
+
return2 (type): description
107
+
"""
108
+
```
109
+
110
+
## Using the Issue and Feature Templates
111
+
112
+
For reporting bugs or requesting new features, please use the predefined templates, or use a custom one if your communication does not fit any template. This ensures that all necessary information is provided and helps to address issues and enhancements efficiently.
**Note**: there are two horizontal modes. One that draws bars from left to right (ltr) and one that draws bars from right to left (rtl)
95
99
100
+
### Configuration File
101
+
102
+
Modify `config.lua` to change default settings and key bindings. This file controls various aspects of the Audio Visualizer's behavior, including the visual mode, hotkeys, and audio processing parameters.
103
+
104
+
#### Config File Location
105
+
106
+
- **Linux/macOS**: Place your `config.lua` in `~/.config/audio_visualizer/`. This is teh recommended location as it follwos the standard configuration directory structure on Unix-like systems.
107
+
- **Windows**: Place your `config.lua` in `%APPDATA%\audio-visualizer\`. This location is recommended for Windows users as it aligns with the typical application data storage.
108
+
109
+
If a `config.lua` file is not found in these locations, the program will attempt to load it from the directory where the `audio-visualizer` command is executed.
110
+
96
111
### Hotkey mode switcher
97
112
98
-
Switch to a different view--mode--while already in a visualization.
113
+
Switch visualization modes dynamically with configured hotkeys.
114
+
For example, the default keybindings are:
99
115
100
-
While running a mode, press **'ctrl+l'** to switch to horizontal ltr mode, **'ctrl+r'** to switch to horizontal rtl mode, or **'ctrl+v'** to switch to vertical mode.
116
+
- 'ctrl+h': horizontal ltr mode
117
+
- 'ctrl+l': horizontal rtl mode
118
+
- 'ctrl+j': vertical mode
101
119
102
-
-'ctrl+l': horizontal ltr mode
103
-
-'ctrl+r': horizontal rtl mode
104
-
-'ctrl+v': vertical mode
120
+
### Themes
121
+
122
+
Themes allow you to customize the visual appearance of the audio visualizer:
123
+
124
+
- **background_color**: Set to a 'RGB' value like '255;0;0' for red, or 'default to use the terminal's default color.
125
+
- **bar_color**: Set to a 'RGB' value or 'default' to use the terminal's default color.
105
126
106
127
### Command Line Options
107
128
@@ -127,64 +148,12 @@ On Windows, audio routing can be tricky. If you want to visualize audio from you
127
148
128
149
This will allow for the program to render the audio that is being outputted on the device as well as continue to have the user be able to hear the same audio.
129
150
130
-
## Contributing
131
-
132
-
1. Fork the repository.
133
-
2. Create a new branch(`git checkout -b feature-branch`).
134
-
3. Commit your changes(`git commit -am 'Add new feature'`)
135
-
4. Push to the branch(`git push origin feature-branch`)..
136
-
5. Create a new Pull Request.
137
-
138
-
### Linting and Formatting
139
-
140
-
Please ensure that any updates adhere to the project's style guidelines before committing.
0 commit comments