feature - private abstractions [ab]
Well, here is the very last big feature implemented during GSoC '20.
Users can now create and fill in private abstractions, which are stored inside the same patch file.
Created by typing
[ab <name> <args...>] in an object.
Private abstractions have a global scope by default: reachable from the root canvas and all its subpatch and private abstractions descendants, but without crossing file boundaries. Local abstractions can be created prepending the name with ‘@’.
Functionality of [clone] has been extended, adding the [abclone] creator, to accept private abstractions as well.
Added [abinfo] object, which gives information (name, #instances, dependencies, ...) about the private abstraction in which it is instantiated.
Added [abdefs] object, which gives information about the private abstraction definitions available in the current scope.
Added ‘abstractions’ dialog, accessible via the ‘window’ menu, which lists all the private abstraction definitions available for that canvas. For each definition it shows the number of instances and it gives the option to delete it, if it has zero instances. (This new dialog is also ready to list file-based abstractions but the related backend logic is not implemented yet)