diatrevolo / chassis-ios Goto Github PK
View Code? Open in Web Editor NEWA wrapper for AVAudioEngine to help create basic and prosumer multi-track audio applications on iOS.
License: Apache License 2.0
A wrapper for AVAudioEngine to help create basic and prosumer multi-track audio applications on iOS.
License: Apache License 2.0
Is your feature request related to a problem? Please describe.
As a user, I'd like to be able to alter the volume and pan of tracks.
Describe the solution you'd like
This probably involves two new methods that edit the Node in question.
Describe alternatives you've considered
N/A
Additional context
N/A
Is your feature request related to a problem? Please describe.
getMixLength assumes the track that ends last starts at zero, effectively giving the duration of the longest track. This may not be the case if tracks start at different times, so this method would fail in some cases.
Describe the solution you'd like
getMixLength should account for tracks not starting at zero necessarily.
Describe alternatives you've considered
N/A
Additional context
N/A
Is your feature request related to a problem? Please describe.
As a user, I'd like to be able to seek to an arbitrary point in time for recording and/or playing.
Describe the solution you'd like
Implement scrubTo, updating currentPosition
.
Describe alternatives you've considered
N/A
Additional context
N/A
Is your feature request related to a problem? Please describe.
Many methods in AudioEngine use filenames, URLs and Tracks arbitrarily, a product of ripping Chassis out of a working project.
Describe the solution you'd like
While I'd like to maintain the old method signatures, convenience methods or new full methods, exposed in the protocol, should standardize across the Track
model, for simplicity.
Describe alternatives you've considered
N/A
Additional context
N/A
Is your feature request related to a problem? Please describe.
Need some tests, let's be clear.
Describe the solution you'd like
Write the tests!
Describe alternatives you've considered
N/A
Additional context
N/A
Describe the bug
Pan and volume return to default after a stop.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Should persist after a stop.
Describe the solution you'd like
Moving from a framework to a Swift Package will allow us to release on Swift Package Manager more easily.
Describe the bug
On stop, nodes don't get unloaded, but do get reloaded. New ones are created.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Nodes should be tagged as not in use if they are to be reloaded. Alternatively, we can keep the engine running after stop.
Is your feature request related to a problem? Please describe.
Node allocation and deallocation are expensive activities. Ideally, we want a bunch of nodes, created lazily, that get files from Track models, and files that are tracked by tokens. This allows us to use a single AVAudioFile for multiple tracks as a welcome side effect.
Describe the solution you'd like
Add a token property to Track. On addTrack
operations, select an existing node, if available. If not, create a new node. Track these nodes in a dictionary by token number. Set the AVAudioFile via its token into an AVAudioPlayerNode, and set the start time via the Track property.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.