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 Request: Create Sample from Array or binary String #198

Open
runnerpack opened this issue Jan 22, 2014 · 5 comments
Open

Feature Request: Create Sample from Array or binary String #198

runnerpack opened this issue Jan 22, 2014 · 5 comments

Comments

@runnerpack
Copy link

I would like to do some synthesizer experimentation in my favorite language (Ruby) with my favorite game library (you can probably guess... 😉 )

One can already make an Image from a pixel "blob", so why not Samples (and Songs?) from a PCM "blob"?

Not really a priority, but you may as well add it to the ol' ToDo list and work on it when you're bored, right? 😉

Thanks, jlnr!

@jlnr
Copy link
Member

jlnr commented Jan 22, 2014

That would be easy to implement, but I'm not sure how many combinations of bit rates, channels etc. are necessary for this to make sense.

I'm in favour of this feature, anyway, because I love playing around with images built from string blobs :)

I guess I could implement it as Sample.new(binary_string) and later extend it by an options hash for all these things. — No, it should be Sample.from_blob for clarity.

@runnerpack
Copy link
Author

Sounds good to me. 16-bit, 44.1kHz, stereo would probably suffice for the foreseeable future.

EDIT: Just noticed the unintentional pun... 😄

@runnerpack
Copy link
Author

Not that you have to explain yourself, since it's your project, but I'm curious why you removed this from the 1.0 todo list… (or maybe you did explain your reasoning somewhere and I didn't catch it…)
When I first proposed it, you said it would be easy, and that you were in favor of it shrug

@jlnr
Copy link
Member

jlnr commented May 13, 2020

I'll explain myself anyway: Gosu 1.0 is mostly about having an API that is "good enough" so that there can be a period of long stability (in retrospect, Gosu 0.7.x should have been 1.0.x, given how long-lived it was). My mental roadmap looked something like this:

  1. one 0.x release that fixes some limitations of Gosu::Input (Refactor Gosu::Input to support gamepad axes and to be able to handle adding/removing controllers at runtime #524 is shaping up to be just that).
  2. one 0.y releases that closes all the audio issues (including this one), mostly because [WIP] Audio 2.0 #441 is a big change to the audio interface and it seemed reasonable to do it all at once.
  3. maybe named arguments in Image#draw etc.

After I ran out of time to push any of these areas forward, I've decided to bump up the version number to 1.0 right after merging #524. So this is not really about de-prioritizing this particular feature (which has been stuck for six years anyway >_<). It's more about admitting that the pace of development is incredibly slow, and that the current version is more stable than its version number indicates.

@runnerpack
Copy link
Author

That all makes perfect sense. Thanks for the information! See you in 2026 ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants