Basic mechanics to customize an existing object


#1

To get started, I want to make a variant of the 'demux 8' object that doesn't reset all the unselected outlets. My understanding is that I should be able to do this in the built-in editor, but it's not clear to me how to do it.

I open the object definition. I can edit the code in the 'K-rate code' window (but not in the XML it seems). Just commenting out lines at this point.

I want to save this new version with a different name, id, etc. so it can be opened as a separate object. But I don't see how this is done. No save available.

Thanks for clarification. I couldn't seem to pull this basic info from the various threads around already. Cheers!


#2

I am not sure this is the easiest way, but this is what I have been doing, in absence of a tutorial on how to do it properly.
1) Copy the demux 8 file in your home object folder.
2) Then open it with a text editor and change the sha and uuid (and perhaps the updgradedSha) niumbers so something else (change a few digits). Change the object id and file name as well so it does not clash with other objects. I think we need to change those so there are no clashes between object versions.
3) Save it.
4) (not sure if necessary) in the patch choose file>reload objects
The new object should appear in the list of objects in your home objects folder or by (new) name if you type it.

Now load it in a patch and you can change the k rate code, etc. You should be able to save it or save_as and overwrite it.
If I am posting incorrect or a convoluted way of doing it, apologies. Somebody will probably be able to correct me.
Hope this is helpful.


#3

Thanks, Gabriel. Looks like this will work, once I figure out the actual edits. I wasn't quite prepared for the multiple repetitions of the code, which I take it represent variants of the object for different types of data. Bit by bit, things start to make sense...


#4

In 1.0.6 @gabriel's approach is the way to do it.

however, Id recommend moving to 1.0.9, which whilst in testing still, has a much easier way.

simply select the object you want to customise
select 'edit object definition'
then from the file menu you can select 'add to library' , select home, and give it a new name

the you can edit the object to your hearts content...
no messing with UUIDs or xml.

I will point out that the object editor is still being worked on, but has support for i think a good percentage of whats need, the rest is 'on its way'.

p.s. 1.0.9 also has another way to customise an object.
if you just need it of for that one patch, then you can embed a copy to edit it.
similar process.

add the object you want to customise to your patch
right click to get menu
choose 'convert and embed to object'
you will see it changes to a 'patcher/object' which can now be edited.

(note: there are some issues with editing this, please use the 'edit button' that appears rather than the edit object definition you usually use... this issue is being resolved for the next release)

hope the above helps and makes it easier

p.s. from 1.0.9 , the UUID is a unique identifier for a patch, the SHA is no longer needed, and the UUID is no longer related to the name. so also makes editing the XML also easier. (the editor of course will allocated a new uuid when you use 'add to library'


#5

Thanks, Bear. I'm trying that now in 1.0.9 but it's not working out, at least that I can see. I do 'Add to Library', put in a new name. The filename field remains greyed out, which I find suspicious from the go. After I 'Okay', there's no visible change. No files are created, at least not where I expect them, and edits to the 'K-rate' panel are not retained.

Am I doing something wrong? Do I need a fresher build (April 19)?


#6

no there is no fresher build.

yeah, I should have done a video on this, but been busy bug fixed etc.

ok, so when you do add to library,
you have to choose which library you want to add to,
by default there are two choices...
community, which you should only use if you have signed up to the community library (see other category on forum)
home, where you should choose if you want your own 'private' copy.

so for testing, and now, choose home

you can now choose a name,
objects are in a hierarchy, e.g. equals is math/==
so id recommend you do similar,
and Id also recommend you choose a new unique name, the easiest way to do this is to add put it in your own section
so I put mine in tb,
so I might call my object

tb/math/==

the file, is as its says , only information ... the library and the name you choose will determine where it is located.

(note: you may have to tab thru the fields for it to update)

hit ok, and if you look in the directory you saw in the file field , it should now exist.

final bit, and probably the bit thats not obvious

I do not replace the original object in the patch with your object!
so select the object, right click and hit replace
now you should be able to find your object in the object browser , either by typing in the name, or navigating, and looking under the appropriate library (e.g. home if you did the above)

help this helps

other tips: (for 1.0.9, given some of the issues I think are present... but are being fixed)

I tend to alway do the add to library , immediately to create my new object, then I replace the object , then I start editing it... and you will then find 'save' is available. (since its your object to edit)

after editing, change the focus to a different field, e.g. move off the k-rate tab.

make sure you add a description, author, and license details - don't leave them blank

(we also have a bug, so its not asking you to save, if you makes changes, again this is being fixed, but remember to hit save!)

as i say these issues are being resolved... so it will be more robust next time around.


#7

Thanks. Getting a little more in focus.

I had assumed that 'Name' was just a filename and that the Path was defined by the choice of library. For my 2 cents, if it had said 'Path' instead it might have been clearer to me.

My newly defined object doesn't show up in the object selection pane, there being no 'home' directory shown there. I can find it by entering the path, though, so there's that.

Finally, I've deleted a number of inlets but this is being reflected in the graphic. Is there something I can do to refresh that.

Thanks again.
Saturday night now here in Thailand & I'm off to bed. I'll hit it some more tomorrow. Cheers.


#8

Okay. A restart of the app brought the 'home' directory into the tree, But my edits with regards to inlets were not kept. Another edit followed by a restart and now it looks as I intended.

Best,


#9

Yes, I get the same effect. Even if I try to 'replace' the object in the patch with the one saved does not update it in the patch. Maybe I am not understanding how this works though.


#10

nah, Ive been testing the editor today (and fixing it) , its not reloading the object tree when you save object so its not picking up the right version.

unfortunately the object editor has had to have some pretty large changes, as it was designed to edit the object 'in place', but we can't do that due to the inconsistencies it creates ... so we change this in 1.0.8 and 9, only to find other issues.
Ive spent hours on this in the last couple of days, but I think its finally 'ok' in development... except an issue that the object in the patch is not automatically updating. currently you have to replace it... (which may or many not be a simple fix)
its one of those times, when the more you fix, the more you find needs fixing , which is not a lot of fun.

I guess in fairness, the object types were unchangeable in the beginning, so we are just finding all the 'nooks and crannies' in the code, which doesnt like it being changed on the fly.

anyway, best advice I can say at the moment is.. the changes are happening, its just as you have seen to get complete sanity, you really need to restart the UI.
hopefully this will be much better in the next release.


#11

Not sure I follow "currently you have to replace it"... I meant I had issues replacing via 'replace' the mini-menu option of the object. Do you mean 'delete the object and load again'? That works, of course.
Sometimes I am able to replace some objects via the mini menu.
The other thing I noted is that sometimes I cannot select the object by clicking on it.