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

Allow files as inputs #117

Open
rec opened this issue Jan 8, 2024 · 5 comments
Open

Allow files as inputs #117

rec opened this issue Jan 8, 2024 · 5 comments
Assignees
Labels
Big enhancement New feature or request
Milestone

Comments

@rec
Copy link
Owner

rec commented Jan 8, 2024

So people could run recs on existing recordings.

@rec rec added the enhancement New feature or request label Jan 8, 2024
@rec rec self-assigned this Jan 8, 2024
@rec
Copy link
Owner Author

rec commented Jan 8, 2024

This could be a huge and expensive feature if it interoperated with the rest of the program, but I think 90% of the value could be had for 10% of the work by allowing a completely separate mode where recs ran as fast as possible on just a single mono or stereo file in process, in a single thread and process and no other inputs were active at the same time, but all the other flags/keywords were active.

@rec
Copy link
Owner Author

rec commented Jan 8, 2024

This might be worth doing because of how it makes #116 possible to mostly do automatically as a unit test, though it's not a full end-to-end test without going through an audio interface...

@rec
Copy link
Owner Author

rec commented Jan 8, 2024

It would be easier to do the whole thing!

New protocol or base class Source.

InputDevice and new FileReader would be instances of it.

Tracks would take a Source.

The only issues are two:

  1. Setting the name of the output file
  2. If there is no type or format set, we need to read the type or format from the original file and use that.

@rec
Copy link
Owner Author

rec commented Jan 8, 2024

  • Abstract the Source protocol
  • Allow Update to have a None timestamp if this is easy
  • Turn Path into an Option again
  • Add --files or --input or something like that Option
  • If files are selected, this turns off the audio receiving entirely, which also turns off the device_name job

@rec rec added this to the Beta milestone Jan 8, 2024
rec added a commit that referenced this issue Jan 8, 2024
@rec rec added the Big label Jan 19, 2024
@rec
Copy link
Owner Author

rec commented Jan 25, 2024

Almost done! A new list:

  • Write and test code for the output filename if input files are selected
  • Write and create two test .wav files, one mono, one stereo
  • Add an end-to-end test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Big enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant