Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Allow for multiple configurations & variations in a sound pack #268

Open
ctsstc opened this issue Dec 6, 2023 · 9 comments
Open
Labels
enhancement New feature or request !stale Prevent bot from marking as stale

Comments

@ctsstc
Copy link

ctsstc commented Dec 6, 2023

A sound pack contains the sounds, but it would be nice to allow for different configurations within a sound pack. This way the sounds can be re-used without creating a redundant sound pack. For example maybe I want to have a basic duck sounding pack, but then I also want a configuration with additional geese sounds when pressing backspace, space, etc.

I could also see this being beneficial for more complex sound packs where there are many different sounds.

This also brings to mind having key variations like if it could cycle through a set of sounds per key, or randomly choose from a collection of sounds for a key. Then you could potentially have more realistic sounds -- having random sounds per key vs the same sound.

@NotLazy
Copy link
Collaborator

NotLazy commented Dec 8, 2023

Random/multiple sounds per key is planned but I'm not sure I understand the rest of your idea. Could you provide an example of how the config would look, and what pressing certain keys would do?

Eg.
"Pressing F plays A.mp3 or B.mp3"

@ctsstc
Copy link
Author

ctsstc commented Dec 12, 2023

Configurations

Could be something like, I download a suck sound pack with:

  • Configuration 1 - "Basic"
  • Configuration 2 - "Goosey"

Potential structure would be like:

{
  "name": "Beautiful Duck Sounds",
  "configurations": [
    {
      "name": "Basic",
      "defines": {
          ...
        }
    },
    {
      "name": "Goosey",
      "defines": {
          ...
        }
    }
  ]
}

So maybe in "Basic" configuration backspace quacks, but in "Goosey" configuration all keys quack except the backspace, spacebar, and enter make a goose noise. This way the sound pack could still utilize the provided sounds but provide different configurations.


Variations

In this example I have a mode defined which could be like cycle, random, reset cycle on non-concurrent presses -- if you press the same key multiple times it cycles, otherwise it resets.

{
  "name": "Beautiful Duck Sounds",
  "configurations": [
    {
      "name": "Basic",
      "defines": {
          "1": {
            "mode": "cycle", // Could also be like "random", "reset cycle on non-concurrent presses", etc
            "options": ["duck.mp3", "duck.mp3", "goose.mp3"]
          },
          ...
        }
    },
    {
      "name": "Goosey",
      "defines": {
          ...
        }
    }
  ]
}

@NotLazy
Copy link
Collaborator

NotLazy commented Dec 13, 2023

I love this idea. I'm going to put it on the roadmap.

Please think of a better, one-word "mode" for "reset cycle on non-concurrent presses" though and I'll implement all mentioned modes. Feel free to mention additional modes as well.

@ghoomfrog
Copy link

Please think of a better, one-word "mode" for "reset cycle on non-concurrent presses" though and I'll implement all mentioned modes. Feel free to mention additional modes as well.

@NotLazy elastic_cycle?

@NotLazy NotLazy added the enhancement New feature or request label Dec 22, 2023
@NotLazy NotLazy added the !stale Prevent bot from marking as stale label Feb 19, 2024
@ctsstc
Copy link
Author

ctsstc commented Mar 6, 2024

Maybe just:

  • random
  • cycle
  • cycle-reset

Copy link

github-actions bot commented May 6, 2024

This issue has been automatically marked as stale because it has not had any activity in the last 60 days. It will be closed in 7 days if no further activity occurs. Please feel free to leave a comment if you believe the issue is still relevant.

@github-actions github-actions bot added the stale This issue is stale and will be closed soon label May 6, 2024
Copy link

This issue has been automatically closed due to inactivity.

@NotLazy NotLazy reopened this Jul 6, 2024
@NotLazy NotLazy removed the stale This issue is stale and will be closed soon label Jul 6, 2024
Copy link

github-actions bot commented Sep 4, 2024

This issue has been automatically marked as stale because it has not had any activity in the last 60 days. It will be closed in 7 days if no further activity occurs. Please feel free to leave a comment if you believe the issue is still relevant.

@github-actions github-actions bot added the stale This issue is stale and will be closed soon label Sep 4, 2024
@ctsstc
Copy link
Author

ctsstc commented Sep 4, 2024

Is this expected in config v3? Will that land when v3 of the app is published?

@github-actions github-actions bot removed the stale This issue is stale and will be closed soon label Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request !stale Prevent bot from marking as stale
Projects
None yet
Development

No branches or pull requests

3 participants