Hello,
First of all, I'd like to thank you for your work on the atmospheres.
I'd like to suggest a second wave of improvements. I've written the following as a to-do list, because it's easier for me. This explains the imperative tone of the following lines, for which I apologize.
1. Bugs:
- Exporting a library doesn't export the sound files referenced only in the instructions (and not in the library itself as direct buttons).
- Deleting a library from the library navigation menu does not work. Upon restart, deleted libraries are still displayed. However, exporting/importing the general configuration will do the trick.
- The duration displayed on soundtracks does not change colour. It is not visible on darker tones.
- The search menu for a sound within an instruction displays search results, but the titles of these search results are not visible.
2. Features:
- Being able to configure a sound directly in an instruction. This should solve the problem of sound duplication. If two instructions use the same sound, they are both dependent on the same sound's settings (sound level, pan, start, end, etc.), forcing the user to duplicate the sound to have a different configuration.
I think there are two approaches to the problem:
- Either by allowing to store sounds directly within an instruction. The sound doesn't really exist as a standalone button in the library. Instructions allow for editing a stored sound and all its settings.
In this case, a nice to have is being able to drag and drop sound files (from OS explorer) directly within the instructions' pane.
I'm not sure if that's the best approach, to be honest.
- Or by creating sounds the classic way, but when it is dragged into an instruction, the user still has the option to override most of the sound settings without modifying the original sound settings.
In this case, the instruction doesn't store the sound itself, but rather a copy of the sound settings. Settings that have not been override within the instruction should default to the original sound settings.
As en example of this feature: let's assume two scenes that take place in a forest. The first scene is near a waterfall, the other is further away from the waterfall. Both scenes use the same sounds, except the volume of the waterfall sound change. In the first scene the waterfall is louder than in the second scene.
Note : this is somewhat related to the first bug. Either a sound can exist as a stored file within an instruction (first approach) and should be exported with the rest of the sound files. Or a sound must first be created in the library before it can be imported into an instruction (second approach), in which case a sound that exists in an instruction should not be deleted from the library.
- Spatialization of sounds, part I. I think this is already possible with the "pan" setting.
However, it would be nice to have a random spatialization angle (between two values). This way, the sound and each subsequent loop would be played back at a random angle.
This is very interesting for repeating sounds (like a bird sound). It gives the illusion that the sound doesn't always come from the same point in space, and greatly enhances the realism of an atmosphere.
- Spatialization of sounds, part II. Same idea as the previous bullet point but with a random volume, further increasing the realism of an atmosphere.
Might not be just a "volume" thing. It's the concept of distance, and I'm not sure the usual algorithms for that are just adjusting the volume (there might be some "muted" effect also).
- Having a mechanism in an instruction to launch the instruction while stopping all other sounds and instructions.
At the moment, I'm setting a cross-fade on the first element played in each instruction. This stops all sounds previously playing. However, it doesn't stop the ongoing instructions (especially those with sounds set to loop with a random delay).
When building atmospheres, we often have several buttons for several atmospheres. Generally (but not necessarily), launching an atmosphere (instruction) must stop all sounds and instructions currently playing (with a fade).
- The favourites bar is too small and should be able to hold more buttons. It should be expandable (more rows) or scrollable (but that's not very handy).
3. UX Improvements:
- The configuration window of a sound/instruction is quite small. It would be nice if the height and width of the configuration window could adjust itself according to the main window size.
- Add a button to load all sounds at once.
- Drag and drop rows in an instruction to reorganize them.
- Add a button for creating an instruction from the sounds currently playing, retaining all settings (looping, volume, etc.).
- Being able to configure the general stop button to stop all instructions as well.
- Although I don't have a solution in mind to solve this issue, I think it's possible to improve the stacking of windows when the user edits a sound within an instruction.