ircam-ismm / catart-mubu

MuBu based version of CataRT
Other
30 stars 4 forks source link

improve camu package after first feedback from Cycling #91

Closed diemoschwarz closed 11 months ago

diemoschwarz commented 1 year ago

Issues to resolve from feedback from Cycling on first package submission (#47), Aug 4, 2023:

Dependencies

Bugs

Main Patch Documentation (#59)

Help Patchers and Examples Documentation (#66, #67)

Remarks in Mubu patches, see https://git.forum.ircam.fr/haddad/mubu/-/issues/310

Next Steps

Full Answer from Cycling > Alex (Cycling '74) Aug 4, 2023, 17:01 PDT Hello Diemo et al, Thank you, again, for your work packaging up the CataRT material into a package for the broader world of Max users. We had our internal team spend some time with the package this week, and I've compiled feedback from all these testers together here. There are some primary issues, those that lead to errors and could confuse users, and then some ideas that you can take more as suggestions for how our team members thought the contents of the package could be more clear. Primary points: The main point of feedback has to do with the package's dependencies on other packages, some of which are not available on the Max Package Manager, like spat5 and shell. We don't encourage packages that rely on other packages, though we do have some examples of this, for instance, the bach family of packages, where other packages in the family rely on bach itself. In this vein, it is clear that MuBu is critical to the functioning of this package, and that is no problem. However, the package also depends on several other packages, listed as "optional" in the package launcher. Though they are listed as optional, the examples in the package depend upon them, and will cause console errors if opened without that package. - Could this package be revised to either not include these "optional" dependencies, or more clearly mark in the package launcher that the examples which rely on blocks, bach, cage, and sensel, will only successfully launch if the user has the requisite package installed? - We would ask you to further consider if the package could work without the dependency on spat5, shell or any other library which is not available on the Package Manager -- we generally do not present Max users with package material which is incomplete without some additional installation. Another important point is that some of the examples, while being included in the package, are not actually launchable from the package -- messages for the catart-mubu-poly and catart-mubu-poly-linnstrument are not connected via a patchcord to [pcontrol] and thus do not open. Many of the tutorial patchers open with the error: imubu: invalid view name descr for view message Other errors are described below in the compiled feedback. Compiled feedback from various testers: Regarding the package launcher: - Launcher is clear. Starts with a musical sound-based example and feeds tutorials to the user as the next steps - The steps in the launcher are clear and easy to follow, however, the patch is a bit cluttered. I think all the text that is also listed on the PM page could be removed from the launcher patch. - there is a "clearall" message sitting on top of an object - I would say that there are lots of jargon-y words used on the tutorials page. What is "bpf" in this context? Bandpass Filter? Why not just write bandpass filter? - I feel like the tutorials themselves are useful, but they just aren't given enough frame or context. Regarding help patchers and examples: - hints for the umenus that describe what the menu selections are used for would greatly assist the new user. - [ext] abstraction opens a patcher window, in "controllers" example - catart-mubu-simple: needs numbered steps and a description of what's going on. Also, after loading an audio file I get this error mesage: "comment: doesn't understand "int"" - catart-mubu-controllers: lots of errors when opening the patch. gen, sensel, patcher, blocks.jit.matrix, blocks.pad, imubu, and mubu.track errors. - catart-mubu-mfcc: does not open - catart-mubu-poly: does not open - catart-mubu-poly-linnstrument: does not open - catoracle: open with these errors: "s2m.wacom: s2m.wacom: No such object; shell: shell: No such object" It also doesn't say what type of file to load in step 1. The m4a file I was using for every other patch does not work. The UI for this patch could be improved to make it easier to understand, and don't hide the toolbars. - catart-mubu-spat-mc: tons of error messages about missing dependencies - catart-mubu-SOM: doesn't open - Examples are pretty great across the board. Sometimes it's hard to know which option you'd pick for a singular use case when there are several possibilities. That's more of a comment on how the user is led through the content than the content itself. - Often the patches don't fit on my 13" screen for the examples which are spawned from the launcher patcher. - Segmentation lab removes the outer edges of the Max window. Not great for seeing errors or starting and stopping audio. - The temporal modelling example doesn't have a step 3 which is that you would turn on the audio driver. - imubu scatterplot view doesn't work with the mouse. It doesn't seem to correctly select the correct closest point. Feels like its pulling the position from the max patcher, rather than the position of the mouse relative to the object's borders. - mubu.dtw needs some numbers for each step -mubu.model needs steps - In the catart-mubu-simple, I see these errors mubu.concat~: cannot connect to audio track 'audio' of MuBu container 'corpus' , mubu.concat~: cannot connect to marker track 'descr' of MuBu container 'corpus' - The comment style for the standalone guide (which is a standalone) is really not helpful for making it easy to understand. The mubu.projects.standalone object is very helpful though Other feedback: - Ref pages are solid - Could it be easier to explore the wealth of material in the package, by subject? For example, the bach package has the word cloud that adds discoverability to the package material. Thank you, again, Diemo and others, and please let me know if I can clarify any of these points or provide answers to any questions. Yours, Alex
diemoschwarz commented 1 year ago

Hey guys, I'm almost through with all remarks. Can you verify/improve what I came up with to address

I feel like the tutorials themselves are useful, but they just aren't given enough frame or context.

Aaron, are you done with minimising and listing the dependencies? Then we're good to go for a resubmission! Cheers...

einbond commented 1 year ago

Aaron, are you done with minimising and listing the dependencies? Then we're good to go for a resubmission! Cheers...

Yes, dependencies have been reviewed and only essential ones retained. This has been clarified in the overview patch. The only comment to which I have not responded on my side is improving the catoracle UI.

diemoschwarz commented 11 months ago

On Nov 14, 2023, at 9:27 AM, Diemo Schwarz Diemo.Schwarz@ircam.fr wrote:

Here is Cycling's response to our revised package submission. We pushed them into tightening their rules for external dependencies and now they are forbidding non-PM ones...

This means that for catart-mubu to be accepted into the PM, we'd need to remove catoracle and the spat example patches from the package distribution for the PM, and put them up for download separately. We can mention and link to them from the overview patch, though.

How should we best organise this, also in light of the forum/github download?

1. a. the same reduced catart-mubu package for download on PM and Forum and github, b. plus an "advanced examples" zip for download on Forum and github

2. a. the reduced catart-mubu package for download on PM + advanced examples for download on Forum and github, b. and the full catart-mubu package for download on the Forum and github,

it seems to me that 2. is confusing.

3. a. like in 1. b. separate catoracle and catart spat examples for download on the Forum and github (or catoracle could even be its own github repo).

Consensus is to implement 1:

Second answer from Cycling in full > Alex (Cycling '74) > Nov 1, 2023, 13:26 PDT Hi Diemo, Thank you for your patience as I've gotten back to you here. This package, along with some others that are currently in the pipeline, lead to some internal conversations about how we can use the Max Package Manager, and led to some refinement of our policy around external dependencies for packages. In general, I think your changes to the package have been great, and make the tools in the package much more accessible and understandable. Thank you for taking our feedback! My remaining piece of feedback entails the aforementioned external dependency policy, and is specifically about the three external dependencies which are not on the package manager -- shell, spat5, and the Python packages you've described. Our policy for the PM is now that: A package on the Max Package Manager (PM) should ideally not have any package-level external dependencies, meaning the package should not require a separate package to be installed to enable its core functionality, or the functionality of example or demo patches included in the package. However, if the package must require this, the dependency must be a package that is itself available on the PM. Because of this, and for reasons of consistency and precedent for packages on the PM, I'm wondering if you could remove those example patchers that depend on these external (non-Package Manager) packages, and host them elsewhere (for example, copy-compressed as a gist on github, or somewhere on the IRCAM site) and rearrange the text in the [patches] tab of the launcher in a manner something like: To see an example CataRT controlled by a factor oracle (a la OMax) running in python (contributed by Aaron Einbond), please download the example patch [here], but be aware you will need the bach and CNMAT Externals packages from the package manager, the Shell package, and external application Python with packages NumPy and python-osc. More information about how to find those packages can be found in the example patcher itself. Thank you again, Diemo, for your team's work on this and for your patience as we ironed all of this out. Please let me know if you have any questions about this final point, and I can't wait to get the package out to the Max world! Alex
diemoschwarz commented 11 months ago

On 10/12/2023 03:12, Cycling '74 Support wrote:

Alex (Cycling '74)

Dec 9, 2023, 18:12 PST

Diemo,

Thank you very much for putting this together in this way! It looks and sounds great. We would love to publish this on the package manager -- do you have a particular date you'd like us to publish, or can we move ahead?

With appreciation,

Alex

Diemo Schwarz

Dec 5, 2023, 03:30 PST

This is a follow-up to your previous request #94968 https://support.cycling74.com/hc/requests/94968 "Re: [Cycling '74] Re: Re: R..."

Hi Alex,

here is a new version with the advanced examples split out: https://nubo.ircam.fr/index.php/s/d8PMMQnggAtcoaN

Best... ...Diemo