GimelStudio / Gimel-Studio

Old repo of the node-based image editor. See https://github.com/GimelStudio/GimelStudio for the next generation of Gimel Studio :rocket:
https://gimelstudio.github.io
Apache License 2.0
59 stars 8 forks source link

Gimel Studio in Blender #12

Closed MarioPeper closed 3 years ago

MarioPeper commented 4 years ago

Here seems to start a project which could be a door opener for Gimel Studio in Blender. Just as an idea. https://blenderartists.org/t/pip-for-blender/1259938

Correct-Syntax commented 4 years ago

Thanks for the idea!

Correct-Syntax commented 4 years ago

What exactly were you thinking with this? :)

MarioPeper commented 4 years ago

All other post-pro add-ons in Blender always work in the slow compositor. For still image renderings, it would be great to have Gimel Studio directly in Blender. Gimmel Studio would certainly benefit from the large Blender community. Most people are annoyed with the slow compositor and most of them render still images as well. It could use the Blender node system and the whole workflow would be easier.

Metallicow commented 4 years ago

You will definitely have issues if you plan on implementing this in wxPy as blender uses gl and frames and whatnot will smear the blender gui without hacks or wx support from the blender side. This may or maynot still work with the new blender releases, but you will get the idea if you try and implement it in wxPy See https://github.com/Metallicow/wxBlender

Metallicow commented 4 years ago

Tho you could make a blender plugin that starts up the gimel editor from within blender so you could communicate thru subprocess pipe. That might work better and might not smear up the gui as it should be a separate process...

Correct-Syntax commented 4 years ago

Tho you could make a blender plugin that starts up the gimel editor from within blender so you could communicate thru subprocess pipe. That might work better and might not smear up the gui as it should be a separate process...

@Metallicow, yes this is the thought/method of doing it (through subprocess) I had a while back for possibly integrating Gimel Studio with another application, but this could work with blender too (I hadn't thought about blender till @MarioPeper mentioned it!)

I had seen your wxblender project and it looked neat. My guess is that you had smearing issues with it though, right?

@MarioPeper, This is a good idea, though it probably wouldn't use the blender node editor itself and probably be run separately through subprocess, etc as @Metallicow suggested. (see above),

Thanks.

MarioPeper commented 4 years ago

@Metallicow @Correct-Syntax That would certainly be easier and i don't think it needs pip. There are some addons that simply work as a bridge between blender and other programs e.g. Instant Meshes. But I did not have that in mind. I actually thought about a replacement for the compositor. Anyway, for such an addon I would pay 15-20€ immediately. And with Blendermarket and gumroad the blender ecosystem is already there. Having a bridge is nice to have but in the end it only saves a few clicks. That is no big difference in workflow for me.

Metallicow commented 4 years ago

@Correct-Syntax Well, yea smearing sorta sometimes. Most of the smearing issues was I was trying to use wxPy from within blender and I had to hack refresh the screen a lot to get it to work. Tho at the time blender was going thru their ui debate with the community and I whipped it up mainly for mockups. One thing folks had an issue with was using custom icons in menus. Those work fine, tho if you create a frame and drag it over the blender gui it will smear without the hack. There are numerous ways to deal with that type of stuff, but the easiest would probably be hook into blenders refresh window functions when you move a frame over their gui. My plugin is more useful for popups and whatnot, as regular frames doesn't fit in with blenders gui like wx.aui or similar advanced docking systems. The hard way would be to fork your own copy of blender and integrate wxPython functionality from the blender end. This would be similar to the many zillions of custom builds you can get here and there.

Correct-Syntax commented 4 years ago

I actually thought about a replacement for the compositor...

@MarioPeper, technically Gimel Studio aims to be a replacement for blenders compositor. :)

Obviously, it's not directly in blender, but maybe a bridge would help to ease that.

My most recent thought is maybe to have the addon for blender as said before, but also have a node in Gimel Studio and/or blender that would allow for communicating between blenders node editor and the current Gimel studio node graph or something.....

@MarioPeper, What exactly is the workflow you're looking for?

@Metallicow, yeah I thought so.... It probably would not pay to do it that way anyway.

Thanks again for the ideas and thoughts on this. 👍

MarioPeper commented 4 years ago

@Correct-Syntax As we have already discussed, for a good post-pro workflow outside Blender you need Blenders own multilayer .exr format. But at the moment I know only 2 programs that can handle it: Krita and Natron. Although this is pretty cool, it is more complicated than working directly in Blender. If only the compositor was not so slow. So I thought, with new ways to bring PIP into Blender, it would be easier to have Gimmel Studio in Blender. In the end, it should do the same as the compositor (not so complex of course). Gimel Studio should have more nodes. I don't know how easy or difficult that is. It would be nice for you: you could leave Gimmel Studio free and make money with the Blender add-on. I'm sure many people would want to have it if the most important nodes were included. The younger developers often do it in such a way that they first offer the addon at a lower price, so that first a few bite and then increase the price with every update. Also, this is a good way to find out what people want in it (with a Blerderartist topic)

Correct-Syntax commented 4 years ago

for a good post-pro workflow outside Blender you need Blenders own multilayer .exr format.

@MarioPeper, I have been looking into using the openimageio library instead of pillow (the imaging library I am using now), which supports exr files, color space conversions and 32 bit images.

With our discussion before and the suggestion of @ttddee (#11), it seems to me that Gimel Studio needs to go in the direction of supporting professional image file formats, etc. I haven't really done too much testing with openimageio yet, though to see if it is a real possibility for replacing pillow.

But at the moment I know only 2 programs that can handle it: Krita and Natron.

Yeah. There might be a reason why....

In the end, it should do the same as the compositor (not so complex of course).

Could you elaborate on this? I have been trying to make Gimel Studio not-so-complex.

Gimel Studio should have more nodes.

Of course. Though, it will be easier to add more nodes post v1.0.0. Right now I am still working out things and thus I don;t want a huge amount of nodes to change every time I change the API. (Hint: You could write your own nodes too!) 👍

It would be nice for you: you could leave Gimmel Studio free and make money with the Blender add-on. I'm sure many people would want to have it if the most important nodes were included.

Gimel Studio will always be free as far as I am concerned. Would there really be that much of a demand for a blender addon like I described -you think? Or, I suppose you might be talking about an addon like you were saying?

I'm considering accepting donations for Gimel Studio (hoping I could then have the chance to spend more time making It stable/adding features), though I have questioned how much demand there is for a niche application like Gimel Studio and whether its a good idea or not.

In any case, thanks for the conversation. :)

Correct-Syntax commented 4 years ago

I am also not sure how complex it would be to implement exr file support as well...which is what I was alluding to in my last comment.... :)

ttddee commented 4 years ago

@Correct-Syntax As we have already discussed, for a good post-pro workflow outside Blender you need Blenders own multilayer .exr format. But at the moment I know only 2 programs that can handle it: Krita and Natron.

Hi guys! I have been following this with great interest, since I think the world needs a node-based still image editor. I am working on something similar. Multi-channel EXRs are not an exclusive Blender thing. It has been an industry standard in Film for a long time. All the professional comp and 3D packages support it. Nuke, Flame, Fusion, Maya etc...

With OpenImageIO it is really easy to integrate, the details are here: https://openimageio.readthedocs.io/en/release-2.2.7.0/builtinplugins.html#openexr

MarioPeper commented 4 years ago

Could you elaborate on this? I have been trying to make Gimel Studio not-so-complex.

I mean not so many Nodes as in the Blender Compositor.

Gimel Studio will always be free as far as I am concerned. Would there really be that much of a demand for a blender addon like I described -you think? Or, I suppose you might be talking about an addon like you were saying?

Like i were saying. But a simple bridge would increase the attention on Gimel Studio enormously. Whether and how much money would be required for this is difficult to answer. In my estimation, I would leave that empty. But perhaps others will come with the request to integrate the Gimel Studio deeper into Blender. That should then definitely land on Blendermarket.

I'm considering accepting donations for Gimel Studio (hoping I could then have the chance to spend more time making It stable/adding features), though I have questioned how much demand there is for a niche application like Gimel Studio and whether its a good idea or not.

The easiest way is via gumroad with a voluntary amount. In my opinion Gimel Studio will not be in a niche for long if it is firmly integrated into Blender. ;-)

MarioPeper commented 4 years ago

@ttddee Thank you for pointing this out. I only use open source software, so I didn't know that. But all the more reason to have this in Gimel Studio.

Metallicow commented 4 years ago

@Correct-Syntax Basically what @MarioPeper is trying to say in a nutshell is I mean not so many Nodes as in the Blender Compositor. Basically whether or not you charge for a plugin to bridge programs, the point stands like with my noding needs. You have implemented a dynamic way to generate code, therefore you have to accept the fact that there is an infinite amount of nodes, which is why Mario or others may consider it complex or complicated. Basically what would also need to be done is you would want to also develop a "installer" or "manager" to manage all these "node" types so as not to confuse or scare away simple users. Ex: no need for just blender users to install complex debugging nodes for a code editor or other program when all they want to do and know how to do is create 3D art in a modeler program such as blender with simple images they provide themselves. As far as the manager that would require a ton of extra development time, so yea most folks would want some sort of small sponsor funding to sustain while it is being developed. Actually you could use wrye bash to install nodes, but unless your a guru then it would scare most users. So in conclusion I would say that it should KISS based. (Keep it simple stupid).

Correct-Syntax commented 4 years ago

@MarioPeper,

But a simple bridge would increase the attention on Gimel Studio enormously

I agree. It might open up other possibilities as well -like you were saying.

The easiest way is via gumroad with a voluntary amount.

That sounds like a good idea. :)

In my opinion Gimel Studio will not be in a niche for long if it is firmly integrated into Blender. ;-)

Yeah, that's true. Integrating with blender would probably attract a lot of people who wouldn't use something like Gimel Studio otherwise.

MarioPeper commented 4 years ago

@Correct-Syntax

That sounds like a good idea. :)

As an addon collector I want to give you the following tips: Addons with a 0 € price suggestion usually get hardly any money. Addons with a higher price suggestion rather. But not really much. The same goes for those that offer a price but additionally present the gitub link. Everything with a minimum price below 5€ is always possible (I have some I have never used). The next pain threshold is at 12€ and anything over 20€ I think about carefully. The numbers also work in $. I like the newer approach of some to start with smaller amounts first and then increase per update. This gives some the early bird advantage and encourages the successors to follow suit. An example: The last addon I bought started with 3€ and is now at 10€. This works particularly well at Blendermarket, where you can see how many have already been sold. It also looks much more professional when you are also at blendermarket. But it is more complicated and takes longer to get started.

Correct-Syntax commented 4 years ago

@Metallicow, thank you for clarifying what @MarioPeper was saying.

You have implemented a dynamic way to generate code, therefore you have to accept the fact that there is an infinite amount of nodes, which is why Mario or others may consider it complex or complicated.

Certainly. I can understand how it can be overwhelming when there are a lot of nodes to sort through, like many other based programs I have seen......

Basically what would also need to be done is you would want to also develop a "installer" or "manager" to manage all these "node" types so as not to confuse or scare away simple users. Ex: no need for just blender users to install complex debugging nodes for a code editor or other program when all they want to do and know how to do is create 3D art in a modeler program such as blender with simple images they provide themselves.

This is a great idea. This was somewhat the core concept behind "core" and "custom" nodes in Gimel Studio, though, right now you have to do it the manual way, with some know-how. :)

A nice gui for managing nodes sounds like a great idea for better usability. Then, it could just show the nodes the particular user wanted/needed at any given time. If you have any ideas for how the more manager should work, please comment (#13)

So in conclusion I would say that it should KISS based. (Keep it simple stupid).

Yeah. It's easier said than done!

Correct-Syntax commented 4 years ago

@MarioPeper, thanks for the advice. You Do seem to be quite an addon collector, so your advice is probably spot-on. :)

Do you think this applies to donations, etc. in general or just blender addons?

I've been brainstorming ideas for how the bridge addon could work. I have created a blender addon for my own personal use before, but that was in the 2.7x series.

MarioPeper commented 4 years ago

therefore you have to accept the fact that there is an infinite amount of nodes, which is why Mario or others may consider it complex or complicated.

Unfortunately I am not sure if I understand @Metallicow correctly. Therefore here again what I mean with complex. Over the years more and more nodes have been added to the compositor in blender (due to user requests). But now there are so many that I only need 20% of them for my normal work. That's why I think it's good if not so many of them come into Gimel studio. The question is of course which are the important ones and everyone will see it differently. So that more and more will be added via the updates. So I think it's good to always make sure that it doesn't turn to COMPLEX ;-)

Do you think this applies to donations, etc. in general or just blender addons?

This is indeed very specific to blender, but also groundbreaking. Blender's ecosystem does the open source world a big favour by showing how money can be made with open source without destroying the basic idea. The cult of Blender produces customers who are willing to pay for something that is actually free. It also shows appreciation for the fact that a coder takes into account special wishes that make my own Blender personal. So the end result (add-on) is more a service than a product. In my opinion, no other open source project has succeeded in this.

bridge addon could work

A simple bridging addon between Gimel Studio and Blender should open the render result as it is (the displayed render pass) in Gimel Studio by clicking on a button. I need to have the option to open a new file or to load the (next) render pass into the already opened file. Additionally multilayer .exr would be nice of course but this can also be included in a later update.

Metallicow commented 4 years ago

Blender is definitely unique when it comes to their market for plugins. Just because a software is GPL'd doesn't mean that people cannot sell it or try to make money off of it. Your freedom comes in the form, legally that no-one can close-source your code. This is a blessing and yet also a burden of the GPL. Basically if you GPL your code, you are basically saying that you will never work in the "company" and are forcing others to do the same. This does not mean that you cannot be an independent. On the other hand the output files and plugins are your own creation so you are free to do with them as you please.

A good example of a blender plugin is like many have done in the past. The developer wants to support his development time financially while plugin is being developed but also wants to keep the code free. What usually happens is that dev will charge $10-20 for the plugin and at a certain point when they recover the dev costs and make themselves a few bucks, they then relicense the plugin to be ZLIB/MIT/BSD/Apache etc, so that the company man can benefit also. One thing to note about GPL is that while a individual might pay for your plugin... Lets say that they work within a studio and only paid 10 bucks for it. It is not illegal for that one person to share that plugin with the whole studio or family/friends. On the other hand this is why most studios would more likely send you 200-300 bucks instead of 10 for an individual license.

And yes, basically what Mario said about using only 20% of the nodes is exactly what I mean overcomplicates it for normal/simple users. A Poweruser of studio worker might use 95% of the nodes for example. Hence having a node manager is similar to why blender has different tabs/workspaces for modeling/uv/sculpting/scripting/etc/etc..

Correct-Syntax commented 4 years ago

@Metallicow,

Your freedom comes in the form, legally that no-one can close-source your code. This is a blessing and yet also a burden of the GPL.

I have found this to be true with GPL code. Before I open-sourced Gimel Studio, I was debating about whether to license it under GPL or Apache. To me, the copyleft of the GPL is both a burden and a blessing. I know you're biased against Apache ;) and I am leaning towards changing Gimel Studio's license to GPL because I'd rather keep the code open-source. -Just a little wary of the copyleft thing....

A good example of a blender plugin is like many have done in the past. The developer wants to support his development time financially while plugin is being developed but also wants to keep the code free. What usually happens is that dev will charge $10-20 for the plugin and at a certain point when they recover the dev costs and make themselves a few bucks, they then relicense the plugin to be ZLIB/MIT/BSD/Apache etc, so that the company man can benefit also.

Interesting idea. It makes sense, but seems like a bit of a roundabout way to do it(!).

One thing to note about GPL is that while a individual might pay for your plugin... Lets say that they work within a studio and only paid 10 bucks for it. It is not illegal for that one person to share that plugin with the whole studio or family/friends. On the other hand this is why most studios would more likely send you 200-300 bucks instead of 10 for an individual license.

Yeah. That's the nature of open source.

And yes, basically what Mario said about using only 20% of the nodes is exactly what I mean overcomplicates it for normal/simple users. A Poweruser of studio worker might use 95% of the nodes for example.

Yes. I think there are some nodes in blender I have never used, so I can understand that.

Hence having a node manager is similar to why blender has different tabs/workspaces for modeling/uv/sculpting/scripting/etc/etc..

Definitely. I see that the node manager is really a necessary thing for catering to different needs and skill levels. It's one thing if a program such as Gimel Studio or Blender just do color-correction (for example), but it's quite different when it can do an (almost) infinite amount of things (or even just a handful, really...).

Correct-Syntax commented 4 years ago

@MarioPeper

Over the years more and more nodes have been added to the compositor in blender (due to user requests). But now there are so many that I only need 20% of them for my normal work. That's why I think it's good if not so many of them come into Gimel studio.

I understand. Though, can I really say that I use even 75% of most of the software I use. Not really. It's probably more of just how things are organized and showing only what is needed for each particular user's needs so that it's not overwhelming. That is my plan with the Node Manager.

The question is of course which are the important ones and everyone will see it differently. So that more and more will be added via the updates. So I think it's good to always make sure that it doesn't turn to COMPLEX ;-)

Hence the need for a Node Manager in Gimel Studio so that only what the user needs they can install/show. I am trying to think about how software like FilterForge does it. (I haven't ever used it myself, but I see that it is popular.) More nodes are inevitably going to get added to Gimel Studio, it's just that they need to be organized in such a way as to not be complex.

It also shows appreciation for the fact that a coder takes into account special wishes that make my own Blender personal. So the end result (add-on) is more a service than a product.

I hadn't thought about it that way, but that is certainly true. Neat.

A simple bridging addon between Gimel Studio and Blender should open the render result as it is (the displayed render pass) in Gimel Studio by clicking on a button. I need to have the option to open a new file or to load the (next) render pass into the already opened file.

I am planning to mock this up and maybe do a bit of coding to see what I can do as far as this blender addon. The thing I have (unnecessarily!) been stuck on is where to place the button. Kinda silly to be concerned about that, but it is important.

Additionally multilayer .exr would be nice of course but this can also be included in a later update.

I do plan to (attempt) implementing openimageio into Gimel Studio and along with it would come exr support. :)

MarioPeper commented 4 years ago

where to place the button

In the N panel of the render window and/or the compositor. The render passes are displayed there. Or in the view Layer Properties if no visual feedback should be included.

Metallicow commented 4 years ago

Personally I consider the GPL evil because of the whole closed source thing, because it is a viral license. If I was you I'd avoid the GPL. wxWidgets is a good choice also if you intend it to be a library/program as it is essentially LGPL with the exception to do what you please with the compiled binary. The best one you can get is Zlib. At least with that no one will misrepresent you or run your name thru the mud, and it benefits everyone equally. MIT/BSD2 is basically saying I don't care what you do with my name, just here is some code. Apache adds on to this by protecting from patent trolls, but it has a undesirable changelog clause, so anyone that will use/fork gimel studio and use it in their software probably 99% of the time will not make changes to it or improve it any way. As for public domain, some contries dont respect that so a CC0 is the best way to do a "whatever you want license"

Correct-Syntax commented 4 years ago

The blender addon is WIP, by the way.

I am starting out very simple with it, but hopefully in the future it will be more integrated into blender.

MarioPeper commented 4 years ago

Where can I download it ?

iwoithe commented 4 years ago

You can download it at https://github.com/Correct-Syntax/Blender-Gimel-Studio-Addon.

MarioPeper commented 4 years ago

It works so far. Didn't you post it on Blenderartist? Do I see it right that it just starts Gimel Studio without loading the render result ? I think at the latest when it shows the render result you should post it on blenderartist. Best on a friday then most of them are there. But with every comment it is on top of the list again.

Correct-Syntax commented 4 years ago

@MarioPeper,

It works so far.

Good. It's WIP. :)

Didn't you post it on Blenderartist?

No, not yet.

Do I see it right that it just starts Gimel Studio without loading the render result ?

Yes, you are seeing correctly. The furthest progress I have reached is that. I have yet to do the Gimel Studio side of the "bridge" and "glue" them together. If you would like to give feedback on panel positioning, text, etc that would be great. Just open an issue in the repo @iwoithe had mentioned. Also, if you "watch" that repo (via Github), you will be notified when I actually make a release of the addon, etc. As always, please report bugs!

I think at the latest when it shows the render result you should post it on blenderartist. Best on a friday then most of them are there. But with every comment it is on top of the list again.

Yeah, I will make a release when I get to that point and see about posting it on blenderartists. How helpful do you think the addon will be once it reaches that (very si mple) point? Would Roman "friday" really be a good day to post it then?

MarioPeper commented 4 years ago

In the end, the day of the week doesn't matter as long as the discussion is ongoing. This "simple point" makes a huge difference in the workflow. Besides, Blenderartist is not primarily used for advertising but to initiate a discussion about improvements. However, I would like to have a few more nodes for Gimel Studio (still at 4.2). But the discussion will also help with that, and it's better to start it earlier than if it becomes difficult to change something fundamental.

Correct-Syntax commented 4 years ago

In the end, the day of the week doesn't matter as long as the discussion is ongoing.

Sure. (Except to me it would matter - I wouldn't post it on Roman Saturday, as that is the Sabbath day.)

This "simple point" makes a huge difference in the workflow.

Good.

Besides, Blenderartist is not primarily used for advertising but to initiate a discussion about improvements

I've noticed that sometimes it seems to be effective in advertising (for particular addons) too. :) Feedback is good.

However, I would like to have a few more nodes for Gimel Studio (still at 4.2). But the discussion will also help with that, and it's better to start it earlier than if it becomes difficult to change something fundamental.

Yes, you will have to let me know what nodes you're looking for. @iwoithe had been working on a few new (and nice) nodes for v0.5.0. Yes, getting feedback as early as possible is important. Thanks.

Correct-Syntax commented 4 years ago

The first release for the addon is here. Still WIP, but "working". You will need to build the executable from the latest Gimel Studio source in order for it to work.

MarioPeper commented 4 years ago

I get a "Permissions denied" error even when I release Gimel Studio with chmod -x. Also "make" hangs at the end. But Gimel Studio runs when I start it with Python. I wait until a stable version is released. I'm really not a fan of building it myself. But when it works, I use it for post pro tasks. Because it is faster.

Metallicow commented 4 years ago

@MarioPeper I recall if you are using wxPy within blender you have to use the version built for PythonX that is bundled with blender, but since it is using subprocess, you don't have to have a built exe I recall. You should be able to modify the blender plugin to call the gimel studio py file and execute it with whatever version python you are targeting. Ex: if I have a program that uses Python2 and Classic wxPython I can call that in the subprocess call. Blender bundles its own python so do note that when using python/another python from within blender.

Correct-Syntax commented 4 years ago

@MarioPeper,

I get a "Permissions denied" error even when I release Gimel Studio with chmod -x.

Hmmm.... ./make in the root directory works for me. This is as root user, so maybe you need to throw a sudo in front of it?

Or, if you are talking about running the executable, I have included some screenshots below of what I have to do sometimes to allow applications to run as executable.

Screenshot from 2020-11-02 09-32-20 Screenshot from 2020-11-02 09-32-51

Also "make" hangs at the end. But Gimel Studio runs when I start it with Python.

I am not exactly sure what you are referring to, but I know that it does appear to hang at the end -and that is expected.

I wait until a stable version is released. I'm really not a fan of building it myself.

That's O.K. I can understand that. It can be frustrating to build from source. Most of the time, I am inclined to give up too. (Except that you do happen to be setup to build the executable.)

But when it works, I use it for post pro tasks. Because it is faster.

O.K great.

Thank you for your feedback! You've helped a lot.

Correct-Syntax commented 4 years ago

@Metallicow,

Currently, the addon doesn't work that way. It does require a built executable, but isn't so integrated into blender that @MarioPeper should need to mess with it otherwise.

Sorry if there is/was some confusion about this.

Metallicow commented 4 years ago
    sysExe = sys.executable
    # dprint('sys.executable = %s' % str(sysExe))
    # dprint(sys.argv[0])
    # dprint(__file__)
    os.chdir(gAppDir)

    ## if sys.argv[0].lower().endswith('.exe'):  # How to restart from pyinstaller-built exe.
    if __file__.lower().endswith('.exe'):  # How to restart from pyinstaller-built exe.
        exePath = sysExe
    else:
        pyPath = sysExe
    ## args = exePath
    args = [pyPath, __file__]
    subprocess.Popen(args)

This should help explain your issue how to start/restart a script/exe.

Correct-Syntax commented 4 years ago

Unless I am missing something here, @MarioPeper and @Metallicow?

Metallicow commented 4 years ago

If you are using linux, I recall it isnt exe as an extension. So you might have to check if the file is executable. I forget what extension mac uses. But the sample I posted above is fairly straight forward if you are using windows. As long as you understand how sys.executable works and __file__ is normally only available when run as python code. This can be modded if you put that into your gimel code before it is compiled, so that __file__ "could" be present if running a frozen program.

Metallicow commented 4 years ago

@MarioPeper Another thing to note is that if you or anyone else is not familiar with python or reading the code, then the method @Correct-Syntax posted about changing file permissions to executable should be heeded with extreme caution in most cases. But since it is open source and everyone here can see that nothing fishy is going on in the code, then this is at your disgression. Linux on the other hand is the more secure than the other 2 in general. But only if you are strict yourself. Ex: if someone sent code in a email or other non-public way and gives you a tutorial how to execute it, you should always beware. The most secure way is to read the code yourself to make sure nothing is fishy going on, and then build your own executable. @Correct-Syntax Making some pyinstaller build scripts would help with users building their own exe locally in a single call or two. Pyinstaller isn't too hard to maintain after you build a few and get the hang of it.

MarioPeper commented 4 years ago

@Metallicow Thanks for the help. But just in the last weeks I had a lot of installation and Linux problems with addons etc. So I just want to wait until Gimel Studio 0.5 is ready. After 2 years and more than 200 addons and trying out a lot of open source software I have my Blender workflow (after a 10 year break) to make 3d art. And then I don't want to compile, try or learn anymore ;-) @Correct-Syntax Thank you for making Gimel Studio (for Blender). I think this will become a great helper in 3d rendering.

Metallicow commented 4 years ago

@MarioPeper I understand. I do it often when I make a box build. Box builds should be LTS(Long term service) or otherwise the software that is installed default on the OS is what you will live with until you upgrade or your PC dies of old age. Completely understandable. This Works. This is Stable and Tested. I don't want to upgrade. Period. Understandable.

Correct-Syntax commented 4 years ago

@Metallicow, thanks for helping @MarioPeper. I am still a bit confused (I feel like I missed part of the conversation here or something) as to what @MarioPeper was asking and what you were suggesting. Anyway....

Another thing to note is that if you or anyone else is not familiar with python or reading the code, then the method @Correct-Syntax posted about changing file permissions to executable should be heeded with extreme caution in most cases. But since it is open source and everyone here can see that nothing fishy is going on in the code, then this is at your disgression.

I agree. I'm sorry if, by suggesting that, it seemed fishy to someone. That wasn't my intention. In this case, @MarioPeper was building this himself, so I didn't see an issue here. But you are totally right, @Metallicow -it shouldn't be used without care.

Making some pyinstaller build scripts would help with users building their own exe locally in a single call or two. Pyinstaller isn't too hard to maintain after you build a few and get the hang of it.

O.K. I believe you are referring to creating scripts to build the executable? If so, I do have those already (though I should complete them as they don't copy the customnodes directory, etc): https://github.com/Correct-Syntax/Gimel-Studio/blob/master/Make.bat and https://github.com/Correct-Syntax/Gimel-Studio/blob/master/make

Thanks again for your help!

Correct-Syntax commented 4 years ago

@MarioPeper,

After 2 years and more than 200 addons and trying out a lot of open source software I have my Blender workflow (after a 10 year break) to make 3d art. And then I don't want to compile, try or learn anymore ;-)

Sounds like you've really worked and spent a lot of time to get your workflow right, so I can understand your position. ;)

Thank you for making Gimel Studio (for Blender). I think this will become a great helper in 3d rendering.

Great. I hope it will be. Your feedback has really helped both for the addon (otherwise the blender addon idea might not have come around for awhile) and for Gimel Studio itself. :+1:

Metallicow commented 4 years ago

Running Pyinstaller on your init script for the program should generate at least basic build files. *.spec, etc... spending a bit more time to make sure it is right when initialized on other platforms is best. Usually you would do pyinstaller myscriptlead.py to do the initial try build. Afterwards you may need to tweak what is going on or if it is failing building at some point. You may want to generate the spec/etc... before the build command. It is different for everyone on the 3 major different platforms... Tho I do think, PyInstaller is the easiest of all the exe/frozen builders, and it does what it does rather well.

MarioPeper commented 4 years ago

Sounds like you've really worked and spent a lot of time to get your workflow right

It was above all a learning and relearning task. But now I finally feel finished. The material/texture task and the slow compositor were the main problem. The main goal was to achieve everything with open source.

Correct-Syntax commented 4 years ago

@Metallicow, unfortunately I don't fully understand your last comment. Could you clarify, please?

@MarioPeper,

It was above all a learning and relearning task. But now I finally feel finished. The material/texture task and the slow compositor were the main problem. The main goal was to achieve everything with open source.

Certainly. I hope it all works out for you. Maybe you could share your workflow sometime. :)

Metallicow commented 4 years ago

PyInstaller is a frozen executable builder. It isn't a cross-compiler so when you use it on linux it builds a exe for linux(same thing goes for when you use it on ther platforms). It bundles Python and all its dependencies for you when you use it on your program on at least the 3 major OSes. It has options to dump it to a directory which can be zipped up or depending on the OS is has a single file exe way you can do also if you dont like a lot of files floating around. You can download it from the website and or whl from pypi and extract it and run it to create a executable. you can even pip install it if you are comfortable with that. Other frozen exe builders exist but some are unmaintained and others are harder to use, etc... For most simple projects PyInstaller works out of the box, so is easier for noobs and occasional users to build one themselves with a small bit of reading the fine manual(technical).