Completion Menu for CDP

Started by otavio, April 06, 2021, 03:42:10 PM

Previous topic - Next topic

otavio

Hello there. I have been using CDP for some time now, but I still struggle with committing the order of arguments of different processes to memory, and having to reference somewhere else in order to refresh my memory is a personal issue of mine when it comes to workflow, especially with processes that take many arguments like the Texture modules.

When using other sound processing 'languages', like SuperCollider for example, there are contextual menus that appear once the IDE recognizes a string sequence as a possible Class, indicating the order and names of the arguments of this especific Class every time the class is recognized. Thus one never has to make the effort to memorize argument order, and the help is there every time in front you; very convenient. An example image follows below.

https://imgur.com/a/9n7LVrg

I was wondering: is this a possibility for usage with CDP somewhere? Is there some software that supports this type of menu? I currently use Notepad++ for writing the batch scripts to use with CDP, but it doesn't seem to be a possibility to be implemented there. Has there been some effort towards this in the past? Perhaps someone knows of some program where this has already been implemented, or can be implemented? Any information related to this would be welcome as this has been one of my big issue when approaching CDP. Thank you in advance.

Robert Fraser

There's nothing like that as far as I know. The console window will show you the usage and most of the parameter ranges and it's easy enough to have that open on the desktop.  Or you can have the online CDP documentation to hand, which is more accurate. But wouldn't it just be easier to use one of the interfaces, which will place all the parameters in the right order and write the scripts for you?

otavio

I have referenced the online documentation when studying specific modules and have also used the console summary of each processing module in order to refresh my memory on argument order in the past, but both of these options are very crowded with information. I would like if there could be a streamlined, concise and reliable window that would show just the arguments; at leastt for me, it would be quite the game changer.

In the case of the interfaces, I do use Soundshaper when trying to sketch particular sequences of processes as it is faster for me to do so there than in batch scripts. However, when trying to tweak small details on arguments of an already existing batch process, I find it easier and faster to do so with .bat scripts than Soundshaper. If I'm already at this stage, I would rather continue writing scripts than have to change applications.

I might look somewhere like Visual Studio Code or similar code editors and see if there is a possibility to create these autocompletion windows based on CDP processes.

otavio

I have found a code editor, Atom, that is free and allows for creating autocompletion windows very easily. I've made it so that it fills up a whole section of code with all arguments already organized, using variables so that tweaking different arguments is simpler. Also created autocompletion snippets for the basic batch file format, with functions and 'header', as well as snippets for all types of batch for-loop syntaxes in order to iterate over a folder's sound files. Atom also already has batch syntax highlighting available through add-ons, which also makes it easier to work with, and has easy tabs to open text files for inclusion of time variation in processing. Here are two example images.

https://imgur.com/a/wEyp5Yl

I plan to, within the near future, creating organized snippets of all processes of CDP in the same format as the example, ideally creating an add-on for Atom so that it is easily installed and used by others. Although I don't know if there are any others out there that would make use of this, I do believe this might be the most streamlined format there is to use CDP with batches, at least under my current, personal needs.