Compile a patch without downloading?


#1

When developing objects, sometimes I have a couple of minutes to spare but don't have the Axoloti itself close by, and it would be practical to be able to test compile a patch without downloading it. Is there such a function in the Patcher? I looked in the Patch menu but couldn't see anything. Perhaps it's something only few people would find useful.


#2

You can select "Upload to SD card" from the patch menu and it gets compiled. This works even if the hardware isn't connected. Not very obvious but it works!


#3

yes, if you edit the preferences files, you will see a flag for 'expert' mode.
this will reveal both a generate and compile code on the patch menu.

... you can also compile from the command line if you wish, you will find a compile patch (and firmware) script in the platform directory.


#4

First I tried hard looking in the Preferences menu, but then I realized you wrote

not the menu ...

At first i thought it wasn't working, but now I realize I need to do Generate code first and then Compile code, just doing Compile code results in a message saying there's nothing to be done, which of course makes sense when you realize that all steps need to be performed in sequence (I note the functions can be accessed using the keyboard so it is pretty fast anyway).

Thanks @rvense for the other tip, I would never have tried that!


#5

yeah, this mode was really for testing/dev ... rather than general use.

perhaps it might good to have a little more user friendly one...
the issue is, we don't want new users to see 'compile' and think that have to do compile then live, so needs consideration - but I like you I often do a bit of patching without the axoloti attached, so can see the need.

fyi, I use it separately, as often I want to see the xpatch.cpp code, which I then sometimes will run through a code beautifier and then edit... and finally compile and upload. (helps me during object development) but I recognise this is a pretty uncommon use case :smile:


#6

TBH I don't think there's a need to do anything. If someone wants to do it, they'll search the forum, find this thread and be fine.


#7

@rvense I agree. And I've been missing the function to edit the xpatch.cpp code before compiling and uploading when I've wanted to test something (as @thetechnobear says, especially during object development).

If there should be any improvement, perhaps it's just the way its listed in the menu that could be improved so that it is more obvious that all steps need to be run manually (but this really is a minor issue).


#8

cool, suggestions welcome... implying 'ordering' in menus, is tricky....

I guess we could start looking for file changes/times to grey out and highlight menu items.
I guess this is not too difficult currently, as we only have xpatch.cpp, and the binary - but if we move to separate compile units (which is quite possible, so multiple cpp), then it could get more complicated.

next time I'm looking at that area, I'll take a look.

I wonder are there any of these operations (or others) that should be more available to all users.
I considered adding the expert switch to preferences, but Im not sure how applicable the items are, and how much they might just add confusion.


#9

I think just adding a heading below the separating line in the menu saying something like "Individual steps:" (possibly in italics or something so it's obvious that it's not clickable) would be enough to make the user understand that each item is a distinct operation.

Since it is an 'expert' function, I don't think it's worth greying out items etc.

I do think the Expert swtich should be visible in the Preferences menu, and not just in the preferences file. Since it is just that, an expert switch, I think it's ok that the UI gets somewhat more confusing when it's enabled.

The operation I've been missing is 'do everything but don't download', which i think might be beneficial to general users.


#10

yeah, will need to review what options pop up when expert is enabled... some are probably only applicable for testing.

hmm, I wonder, do you think if I add a 'generate & compile' as a third option, then perhaps this makes it obvious , and has the added benefit, thats its useful too. (when you know you don't want to edit)


#11

Yes, that's a good idea.