rsox
rsox copied to clipboard
libsox binding for Ruby
The code does not free the memory allocated by sox_create_effect. For example, the function rb_sox_add_effect calls sox_create_effect to create an effect object, but it does not store it in a...
Be aware that the code doesn't seem to handle concurrency well. If two threads call `rsox_new` simultaneously, `rsox_instance_count` could be incremented concurrently, leading to issues.
Keep consistency across all methods
While `Data_Wrap_Struct` is used to wrap C data into a Ruby object, it seems that the memory allocated for `sox_sample_t` in `rsoxbuffer_initialize` is not being freed. Similarly, the code doesn't...
Is there a way to mix two files into one with RSox (or libsox)? With the command line would be just that: `sox -m input1.mp3 input2.mp3 output.mp3`
I am having troubles while compiling package in ruby v3, I guess it needs to be updated to support 3rd version, thanks!
First off thanks for building this gem! This is the output from `gem install rsox`. ``` › gem install rsox Building native extensions. This could take a while... ERROR: Error...
Thank you for this sweet little gem! It is very useful to me. There is only one feature that I miss (unless I have really misunderstood): a way to close...
Currently the buffer that's created in rsox_rubyblock_flow with Data_Wrap_Struct doesn't return consistent values. If I load a new input, setup the chain and capture the buffer, the values a different...
Changes: Robust Error Handling: Introduced consistent error checking after SoX API calls (sox_open_read, sox_open_write, sox_read, sox_write, etc.). Replace generic rb_raise calls with specific Ruby exceptions (RuntimeError, ArgumentError) where appropriate. Added...