Forum Rule: Always post complete source code & details to reproduce any issue!
Page 2 of 2 FirstFirst 1 2
Results 26 to 33 of 33

Thread: Roadmap "Dynamic Updates": any effort going on?

  1. #26
    Senior Member
    Join Date
    Apr 2021
    Location
    Cambridgeshire, UK
    Posts
    141
    I've brought both the cores and AudioStream library into sync with Teensyduino 1.54, I believe. As ever, any problems, please post on this thread or raise an issue on github.

    Cheers

    Jonathan

  2. #27
    Senior Member
    Join Date
    Apr 2021
    Location
    Cambridgeshire, UK
    Posts
    141
    Minor updates to bring into sync with current cores and Audio library, fix a compile-time warning about an uninitialised variable (code never seemed to execute, though...), and enable an early call to CrashReport within the AudioStream constructor so crashes occurring during the audio system construction can be caught and displayed.

    See features/dynamic-updates, tag v0.1-alpha on both repos. They don't need to be in step, but you must have either both dynamic or both (original) static libraries, you can't mix them.

  3. #28
    Senior Member
    Join Date
    Apr 2021
    Location
    Cambridgeshire, UK
    Posts
    141
    Apologies, but don't use the above, some of the work on FS.h in cores seems to have broken the audio libraries...

  4. #29
    Senior Member
    Join Date
    Apr 2021
    Location
    Cambridgeshire, UK
    Posts
    141
    Updated in both cores and Audio to pre-release v0.2-alpha: please use both together!
    • Cores is roughly in sync with Teensyduino 1.55 beta #3
    • Documentation updated in the Audio library
    • Defaults to executing all audio objects, even if they're not apparently connected to an audible output
    • Provides an API to turn off/on execution of unconnected objects, to save CPU time

  5. #30
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    25,206
    I'm planning to merge this (and 3 other audio library efforts) for 1.56-beta3 or 1.56-beta4 later this month, or perhaps slipping into early November depending on how filesystem stuff goes.

    I've not said much on this lately. Just wanted to let you know it's definitely on my radar to become part of Teensyduino 1.56.

  6. #31
    Senior Member
    Join Date
    Apr 2021
    Location
    Cambridgeshire, UK
    Posts
    141
    Quote Originally Posted by PaulStoffregen View Post
    I'm planning to merge this (and 3 other audio library efforts) for 1.56-beta3 or 1.56-beta4 later this month, or perhaps slipping into early November depending on how filesystem stuff goes.

    I've not said much on this lately. Just wanted to let you know it's definitely on my radar to become part of Teensyduino 1.56.
    That's very gratifying! I did a quick search and couldn't immediately see which other 3 efforts you might be considering - if you post which those are, then I can try to have a look and see if I can spot any changes they may need to make them dynamic (principally getting the destructor right...).

    I'm aware of only a few differences from the existing library, and considerations for users:
    • if you attempt to make multiple connections to an input, it's the first one that succeeds, not the last: this contradicts your documentation, but people shouldn't do it anyway
    • AudioEffectDelayExternal needs a destructor to free up its external memory usage - I don't know enough about how external memory is allocated and freed to make a decent job of that
    • I've "had to" put code in to print a CrashReport on the first AudioStream object constructed, because putting it in setup() is too late if there's a bug in the library. There may be a better way to do this

    Cheers

    Jonathan

  7. #32
    Senior Member
    Join Date
    Apr 2021
    Location
    Cambridgeshire, UK
    Posts
    141

    Best 3.x as test-bed?

    I've been reminded in another thread that I haven't made the relevant changes to the Teensy3 AudioStream code. Testing this will be tricky at the moment as I don't have any hardware to test on, just a Teensy 4.1. Officially the audio library supports 3.0, 3.1, 3.2, 3.5 and 3.6: I've noticed the code also mentions LC, which was the variant @Frank B was concerned about.

    Does anyone have an opinion on what variant of Teensy 3.x/LC I should target for development and testing? I don't really want to get one of each (unless donated). I'm also not massively interested in stress testing to the limits of CPU and memory usage, as I couldn't guarantee full coverage anyway.

    Cheers

    Jonathan

  8. #33
    Senior Member
    Join Date
    Apr 2021
    Location
    Cambridgeshire, UK
    Posts
    141

    v0.3-alpha release

    New release made, can be found at https://github.com/h4yn0nnym0u5e/Aud...tag/v0.3-alpha.

    This fixes some issues with creating and destroying input and output objects; I'm not able to test anything other than stereo I2S right now, so would be grateful for feedback on other hardware. Note that these objects never truly get destroyed, because at the moment I don't understand the hardware well enough to do a complete tear-down of I2S, DMA or anything else, so as to leave them free for re-use. However, they do seem to go properly dormant, and it's a fairly unlikely use case in real life unless there's a lot of hot-plugging of hardware going on!

    I've also added an AudioAnalyzeEvent object, with documentation in the updated GUI and an example. This should help some debugging scenarios, and also where you want to synchronise with the audio engine's update loop without burning a lot of CPU. It's based on the EventResponder class.

    Cheers

    Jonathan

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •