On the road to 3.0

Super, thank you. Still I have compile errors with the new format. It is longish, I add a file with the error messages

error.txt (8.2 KB)

I tried it also with Apple native c++ and g++ without success.

Ja, also super the mouse behavior not closing the display. I could not get the mentioned behavior anymore with my example point image.

Thanks, I’ve made a commit that should be helpful to solve this issue.

Reading of .heic files is ok. Very good!
Is it also written internally? Are there option possible too? I see differences in the range of
min = -3, max = 5, mean = 0.309858, std = 0.897032, coords_min = (637,255,0,0), coords_max = (547,80,0,2)

with my Eisvogel example by reading and writing only!
gmic Eisvogel.heic o /tmp/test.heic

Yes, it’s native in CImg. I’ve just get this contribution a few days ago, and integrated it yesterday.
However, it’s only possible to load images in .heic, not to save them (saving tries to use either IM or GM).
That may explain the difference of values you get.

1 Like

Some problems with the latest git build (or the latest gmic lib)!

  1. ‘file_rm’ has gone! and the replacement delete is declared as build-in! and
    gmic e $$delete
    [gmic]-0./ Start G’MIC interpreter.
    [gmic]-0./ *** Error *** Item substitution ‘$>’: There is no loop currently running.

  2. input alone with the file name, without preceded input/i has gone

  3. help does not work:
    gmic help file_mv

[gmic] *** Error in ./ *** Command ‘file_mv’: Undefined argument ‘$1’, in expression ‘$1’ (for 0 arguments specified).
[gmic] Command ‘file_mv’ has the following description:


Rename or move a file from a location $1 to another location $2.

No, there is also a custom version of delete for users of G’MIC 2.9.6-

That should not happen. It works for me, at least.

That should not happen either. It also works for me!

$ gmic help file_mv


    Rename or move a file from a location $1 to another location $2.

You are right, its a problem with my .gmic file.
I have to look…

I have now this piece alone as .gmic file and at least help does not work anymore, e.g. “gmic h up” lasts but gives no output

#  File        : .gmic
#                ( G'MIC command file )
#@cli :: ~karo/.gmic Utilities
cli_start : 
  if $_version>=297 m "file_rm : delete $*" fi
#  if $_version>=260 l[] m 1,/Users/karo/sw/gmic_bm/BAM_260.gmic onfail endl fi 
#  if $_version>=260 l[] m 1,/Users/karo/sw/gmic_bm/bh.gmic onfail endl fi 
#  l[] m /Users/karo/sw/gmic/src/gmic_stdlib.gmic onfail endl
#  l[] m 1,/Users/karo/sw/gmic-community/include/karsten_rodenacker.gmic onfail endl
#  l[] m 1,/Users/karo/sw/gmic_bm/ak_surface.gmic onfail endl
#  l[] m /Users/karo/_gmic/blather.gmic onfail endl
#  l[] m 1,/Users/karo/sw/gmic_bm/in.gmic onfail endl
# Add Filter sources for pugin
# gmic string "/Users/karo/blather.gmic" o cimg:$HOME/.config/gmic/gui_filter_sources 
# #

You should write:

 if $_version>=297 m "file_rm : delete $""*" fi

Wow, thank you! Never thought that such an impact could be reached.

That has a huge impact because if you put $* in cli_start, you tell that this command now takes arguments, whereas what you wanted is file_rm to take arguments.

EDIT: As cli_start should actually never take arguments, I’ll do something to force no arguments are passed to cli_start, in 2.9.7.

It would be interesting how far MarkDown syntax is used or accepted in the doc part of custom functions, “#@cli : …”. If yes, e.g. how are controls residing at line beginning set?

Interesting remark, indeed.
As the #@cli lines are parsed line by line, they cannot be translated as multi-line markdown.

The solution will be to add a \n delimiter to simulate a multi-line markdown syntax on a single line, for instance:

#@cli : ~~~\nThis is a code block\n~~~

rather than

#@cli : ~~~
#@cli : This is a code block
#@cli : ~~~

(which won’t work).

Version 2.9.6: I am getting Access is denied. again. Also, help for user.gmic commands don’t work maybe because of this. E.g., if I copy over a command and alter the name, I get

[gmic] No help available for command 'compose_channels1'; did you mean 'compose_channels' ?.
       Try 'gmic -h' for global help.

I didn’t notice this before. Something might be wrong with my installation.

I too am I getting Access is Denied. I thought it had to do with my attempt to push to gmic failing due to unsupported characters, and getting around that.

@afre Did you tried getting utf-8 support for cmd recently? Did made a thread about that actually which was solved.

Turned on and off the UTF-8 feature. Requires rebooting each time. The Access is denied. went away but I am still having the problem with help on local commands.

PS One last thing about the Access is denied. error. I noticed that Windows tries to phone home. I can’t find the error log though. Even if I did, it would probably be obfuscated by MS’ famous error codes. Do you remember if gmic makes any and where they are?

You mean, when trying to access the gmic-community repo ? Or is this something else?

I’ll check what is going on.

When I run gmic. I can’t duplicate it after 2 reboots. (And I don’t remember how I got the error.)

Not sure how to reproduce the issue. I’ve copy/pasted command compose_channels from gmic_stdlib.gmic to $HOME/.gmic file (I’m on Ubuntu), and renamed it to compose_channels1. Then:

$ gmic h compose_channels1


    Compose all channels of each selected image, using specified arithmetic operator (+,-,or,min,...).

    Default value: '1=+'.

    Example: [#1] image.jpg +compose_channels and

    Tutorial: https://gmic.eu/tutorial/_compose_channels1.shtml

So far, so good…