Audiobus: Use your music apps together.

What is Audiobus?Audiobus is an award-winning music app for iPhone and iPad which lets you use your other music apps together. Chain effects on your favourite synth, run the output of apps or Audio Units into an app like GarageBand or Loopy, or select a different audio interface output for each app. Route MIDI between apps — drive a synth from a MIDI sequencer, or add an arpeggiator to your MIDI keyboard — or sync with your external MIDI gear. And control your entire setup from a MIDI controller.

Download on the App Store

Audiobus is the app that makes the rest of your setup better.

MOZAIC - Create your own AU MIDI plugins - OUT NOW!

19293959798103

Comments

  • wimwim
    edited July 2023

    @cokomairena said:
    Maybe he can try with chatgpt, its super helpful, you can paste the documentation of anything for it to understand

    Humm. I haven't tried pasting documentation into it. I've only ever tried asking it, and of course it fails because of not having been trained with Mozaic data. (Actually, it never admits it doesn't know, it just makes stuff up, or answers in C++ or Python).

    Interesting idea. I don't think it'll help in this situation, but maybe interesting to try for other ideas.

    btw, espiegel123 and pejman are sticking with it and exploring different ways to progress over in a different thread. Some truly admirable persistence on display. 👍🏼

  • Re ChatGPT and programming (or any subject). A friend uses ChatGPT as a coding assistant. In his words, “it can be a great help and save tons of time if you actually know how to program, but it also sometimes provides really bad code. If you didn’t already know how to code, you could easily go down the wrong path.”

  • ChatGPT works by essentially creating a sophisticated pastiche of what it has been exposed to.

  • Hi everyone.

    do you know any ios text or note app that can intelligently find the word or phrase we are searching for and change it to the word we specify?

    For example : I have a text in which the word “x” is used 50 times in different places and I want to convert them to y simultaneously, without having to do it one by one, the app will find them all at once and Convert them all to “y”

  • _ki_ki
    edited July 2023

    @pejman Several text editors offer search/replace features - but you also have to be carefull with the replace options for such short snippets like ‚x‘ that could also be part of longer words ( like sysex ).

    I personally use Textastic. You need to enable ‚check capitalization‘ and ‚full word‘ to replace such a short variable names like x . This ensures that the search-candidate is surrounded by non-abc letters (ie tabs, spaces, end-of-line or symbols like =) and not replace a variables like xn , next or SyseX when replacing ‚x‘

    and Textastic aupports Mozaic syntax highlighting and checking using the Mozaic Language Packe available on PatchStorage

  • Does this happen in Apple Note app in iOS 16?
    I have iOS 15 and it doesn't work with Apple note app.

  • @_ki
    Very thanks for information 🙏.
    Does apple note app this work in ios 16 ?

  • The standard notes app of IOS doesn’t offer search/replace of text snippets

  • @_ki

    @_ki said:
    The standard notes app of IOS doesn’t offer search/replace of text snippets

    Thanks ki .

  • What is the limit that mozaic creates for the number of lines of code ?

  • @pejman said:
    What is the limit that mozaic creates for the number of lines of code ?

    Quite a lot. Is there a particular length you are worried about?

  • My JV2080 patch browser script broke Mozaic's internal limit which was 2,500 lines of code. Bram did a fix for this, and while it still had a few weird issues it was ok.
    So anything up to 2,500 lines of code is fine, anything above may work but unsure of the current upper limit.

  • edited August 2023

    @espiegel123 said:

    @pejman said:
    What is the limit that mozaic creates for the number of lines of code ?

    Quite a lot. Is there a particular length you are worried about?

    Yes, unfortunately, I was limited in mozaic and the new codes that I enter, it makes it not execute a series of commands related to time, these commands are located at the end of the script, which are related to time control in relation to There is double tap shift and tap and hold shift and pad.

    So my shift and pad buttons which are related to time don't work.

    But it seems that if I delete the 4 lines that I recently added, the script works correctly.
    Of course, deleting four lines from anywhere in the script can also happen, for solving problem.

    How to solve this problem?

    I guess I need another 500 lines of code.

    How can you know how many lines of code the script contains?

  • What I recently realized that you may also know is that lines of code that are disabled by 2 slashes or comments that are included by 2 slashes are considered as mozaic lines and mozaic are considered as lines. counts.

    By deleting them, my script worked again. But unfortunately, I still need many lines to write

  • @pejman : you can paste the scripts text into a google docs doc and get statistics on the text if you don’t have a text editor that counts lines.

    2500 lines is a very long script. The last script you sent me in a DM was 83 lines.

  • The maximum number of lines depends on their length including comments (and if they contain unicode characters) - its more like that the script size is limited to something like 128kb. Some of my scripts are around 3100 lines.

    When developing such longer scripts i tend to add a LengthCheck function to the very end of the script that is called once right at the start of the OnLoad. As long as the ‚Length Check passed‘ message appears when loading the script, everything is fine. If it‘s missing, one has to shorten stuff (create sub-functions for common actions, remove comments, change algorythm etc) .

    The ‚wierd knowledge part‘ is that if a script is too long, with a long function with lots of statements at the end,
    Mozaic will stop right inside that functions, so the upper part is done and then the whole Mozaic event that initially triggered calling that subfunction (OnKnobChange, OnTimer, OnShiftDown, OnMidiNoteOn…) is immediately terminated without returning from the sub-function. There is no error message and the next Mozaic event call works normally, so the problems resulting from „script is too long and not everything is executed“ can easily be overlooked.

    @OnLoad
       Call @LengthCheck
       …
    @End 
    
    …
    Long, long script….
    …
    
    @LengthCheck
       Log {Length Check passed}
    @End 
    
  • I experimented with making a group of scripts that communicated in 2 ways:

    1. CC messages that triggered actions
    2. Global Variables that could change some common variable like root note, scale, PPQN

    It’s another way to consider adding complexity that might be limited by script length.

  • @espiegel123

    @espiegel123 said:
    @pejman : you can paste the scripts text into a google docs doc and get statistics on the text if you don’t have a text editor that counts lines.

    2500 lines is a very long script. The last script you sent me in a DM was 83 lines.

    Thanks for information

    The script I sent you was a very condensed and shortened example to make it easier for you to read and understand what I mean.

    The last script I sent you was probably only about one knob or two knobs. But in fact, it contains 10 knobs and layers for each knob.

    I have google doc for a long time, but I can't find ( Counting lines ) ,such an option as you say, It only shows the number of letters and sentences .
    can you please tell me where I should look for this option?

    But I have an app called Bear that shows me the number of lines.

    It shows me 2,999 paragraphs, Which also includes inactive 2Slash code and comments that if I delete two paragraphs, such as //End //End , script works properly.

  • @_ki

    Thanks for useful informations.

    But it seems that the number of lines is much more important than the number of words, in mozaic.

    I mean, by deleting a comment that contains a paragraph that has 88 worlds containing 522 characters, my script still did not work, but by deleting two slashed //Endif, the script works properly.

    So this is probably inconsistent with your writing that you wrote:
    You wrote: its more like that the script size is limited to something like 128kb.

    1, SO , Why should mozaic consider slashed code line as part of script lines? Isn't this a problem in the mozaic?

    2, Are these restrictions normal in mozaic, ie plugins that work under AUV3 have these limitations?

    3, Is it right to ask Brambos to increase Mozaic's capacity in terms of volume or number of lines or script size ?

    I used your trick; Call @LengthCheck in my script . Thank you for your explanation about that.
    Result in Log ; “ [OnLoad] Syntax Error: Calling Unknown Event (@LENGTHCHECK)

  • @pejman

    Based on your remarks, i retested my ‚size matters more than line count‘ statement by writing a simple script robin-round flashing the pads in pad layout, the LengthCheck function and tons of comment lines with 250 chars in each of them.

    I was able to go up to 2981 comment lines in addition to the code (LengthCheck is on line 3005). Adding another comment line fails the LengthCheck. Script size of this „many-long-comments version“ is 728kb.

    Then i fabricated minimized version of that script by shortened all the 250 char comment lines into just // and the still same behavior happend. Add one more short comment line to the existing 2981 and LengthCheck fails. That „many-short-comments“ scipt is just 11kb in length.

    BUT to my astonishment, the LengthCheck of my Mutator script is still working with a total of 3260 lines - so maybe empty lines count less against the limit ?

    => I have to correct myself, its the number of lines that matter, not script-size. Still there is no exact max line number, it seems to be around 3000.

    .

    1) Mozaic is an interpreter - it literally reads the script every time it executes a statement and while reading it actively skips forward over comments, un-matched if blocks etc.

    2) AUv3s have memory limitation (it had been 300kb, but was raised with OS updates), The design and implementation of Moazic picked some fine tuned limitations about max numbers of variables and max numbers of functions - IIUC the space for all possible variables (each an array of 1024 elements even if not used) and for references to all possible defined user functions are instantiated at the startup of the plugin to avoid run-time memory allocations while the script runs. The textbuffer probably is allocated on script load, otherwise i don‘t think i could have loaded that 728kb script.

    3) The limits were originally less than the current ones, but they were raised when my long scripts crossed these boundaries and i messaged with Bram. I suspect that the current limits are the max the interpreter is able to handle.

    In my opinion the limits are high enough, usually one can restructure the script to stay inside the given boundaries. I have no idea which interpreter design specifics are responsible for the observed ‚max line number‚ effect. (My assumption before todays test were that the ‚current statement pointer‘ of the interpreter rans out of its limit - so longer scripts/longer lines would have affected when this would happen. But the above tests show that‘s not the case.)

    .

    I used your trick; Call @LengthCheck in my script . Thank you for your explanation about that.
    Result in Log ; “ [OnLoad] Syntax Error: Calling Unknown Event (@LENGTHCHECK)

    Thats exactly what‘s supposed to happen when the script gets too big - you get an error message.

    .

    BTW: The IOS Textastic editor will show you line numbers and with my Mozaic language package you get Mozaic syntax-highlighting and syntax checking.

  • This all makes sense to me. The original limitation in Mozaic was weird behaviour of the editor window with large scripts. Bram fixed this and scripts around 2,500 lines work fine. But it looks like you run into memory / capacity issues beyond this. I'm fairly sure thats what happened to me, so I decided to stop around 2,500 lines.

  • @belldu

    @belldu said:
    This all makes sense to me. The original limitation in Mozaic was weird behaviour of the editor window with large scripts. Bram fixed this and scripts around 2,500 lines work fine. But it looks like you run into memory / capacity issues beyond this. I'm fairly sure thats what happened to me, so I decided to stop around 2,500 lines.

    Do you mean that this limitation has nothing to do with the mozaic itself and is related to the AUV3 memory limitation ?

  • @belldu said:
    This all makes sense to me. The original limitation in Mozaic was weird behaviour of the editor window with large scripts. Bram fixed this and scripts around 2,500 lines work fine. But it looks like you run into memory / capacity issues beyond this. I'm fairly sure thats what happened to me, so I decided to stop around 2,500 lines.

    The one time a script of mine got to such a length, I decided that the best solution was to write a separate auxiliary script and share some global with it and have the scripts communicate via midi about what needed to be done.

  • @_ki : I wonder if the script size limit is influenced by the number of variables used. I.e. maybe with lots of individual variables (since each instantiates an array with 1024 slots if I recall correctly) the number of lines is reduced.

  • wimwim
    edited August 2023

    @pejman said:
    Do you mean that this limitation has nothing to do with the mozaic itself and is related to the AUV3 memory limitation ?

    If I remember correctly, it's not a directly a memory limitation but a limitation of the standard Apple text editing component that Mozaic uses. It bogs down with large texts.

  • @wim

    @wim said:

    @pejman said:
    Do you mean that this limitation has nothing to do with the mozaic itself and is related to the AUV3 memory limitation ?

    If I remember correctly, it's not a directly a memory limitation but a limitation of the standard Apple text editing component that Mozaic uses. It bogs down with large texts.

    Can mozaic use another method to edit text that is not limited to standard Apple text editing ?

  • wimwim
    edited August 2023

    @pejman said:
    @wim

    @wim said:

    @pejman said:
    Do you mean that this limitation has nothing to do with the mozaic itself and is related to the AUV3 memory limitation ?

    If I remember correctly, it's not a directly a memory limitation but a limitation of the standard Apple text editing component that Mozaic uses. It bogs down with large texts.

    Can mozaic use another method to edit text that is not limited to standard Apple text editing ?

    You can use ant text editor. Textastic is great for this, and with @_ki ’s syntax grammar it’s fantastic. But that doesn’t solve the script length limitation. It’s part of the runtime interpreter. You just need to work within it.

  • edited August 2023

    @wim

    I don't mean to edit the texts, I mean how to solve the limitation that mosaic creates in the number of lines, because you said:

    “If I remember correctly, it's not a directly a memory limitation but a limitation of the standard Apple text editing component that Mozaic uses. It bogs down with large texts.”

    Can Bram solve this restriction?

  • wimwim
    edited August 2023

    @pejman said:
    @wim

    I don't mean to edit the texts, I mean how to solve the limitation that mosaic creates in the number of lines, because you said:

    “If I remember correctly, it's not a directly a memory limitation but a limitation of the standard Apple text editing component that Mozaic uses. It bogs down with large texts.”

    Can Bram solve this restriction?

    I’m sure he could if it would be worthwhile to do so. I cant speak for him, but I very much doubt that it is.

  • hi guys,
    iam looking for a simple midi transpose plugin for cubasis 3.
    can i do this with mozaic? or is there a simpler solution?

Sign In or Register to comment.