Newest MultiView

miker1264 · 13947

miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
on: November 13, 2021, 11:18:52 AM
About six months ago we brought the ABIv1 version of MultiView forward into our repository. But when I tried to compile it recently to verify the Export Menu Item I noticed a few things. It didn't compile correctly. Many errors were associated with missing menu items. When I did a file by file analysis between the 2019 version vs the 2020 version it seemed the strings.h file was missing.

So I copied the older strings.h which contains all the menu definitions then manually added the MESSAGE_MEN_PROJECT_EXPORT menu item. It amost compiled and linked correctly. But there are two missing symbols which means undefined functions such as cmdexport. That can be resolved then it should compile correctly. Then I can upload changes to the ABIv0 repository with a working version.

So what the new Export Function allows is that it brings up the DTConvert user interface to convert between various datatypes. I didn't insert the Export function into MultiView but I will make it work correctly. I believe Nick started this addition. He posted youtube videos of MultiView Export of Datatypes in action.

Once I get the ABIv0 version working maybe we could send the minor changes upstream to ABIv1 so that it also compiles.
« Last Edit: November 13, 2021, 11:27:47 AM by miker1264 »



AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3740
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #1 on: November 13, 2021, 12:34:48 PM
Thanks miker, Multiview is an essential tool on AROS, Multiview on AROS I noticed it can't play sounds, OS3 and OS4 version do, of course only some formats.


miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #2 on: November 13, 2021, 01:14:44 PM
Thanks miker, Multiview is an essential tool on AROS, Multiview on AROS I noticed it can't play sounds, OS3 and OS4 version do, of course only some formats.

I haven't checked out the sound yet because my x86_64 test system doesn't have sound. I can test it on AROS One x86.  8)



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #3 on: November 13, 2021, 03:23:33 PM
Yeah! The new MultiView compiled and linked correctly.

The two unknown symbols were unknown functions which were not errors.
After I examined the code for "cmdexport" I found nothing amiss. So then I
realized that it was a new version of the program but I forgot to delete the
junk files from the GEN directory. Then MultiView compiled correctly.  :)

There are some small errors I still have to fix regarding the numbering of
the menu items in strings.h but that is just some minimal cleanup work.

My next task is to examine the DTConvert code to figure out why it's not
working correctly on my x86_64 test system. The user interface appears
and the Source and Destination buttons work but it refused to enumerate
the datatypes so the listview is completely empty. I still don't know why.

But it's getting interesting...



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #4 on: November 13, 2021, 03:30:10 PM
As for DTConvert the fist thing to do is to learn about starting external programs and where the DTConvert program is located that is being called so that I know which code to examine.

https://wiki.amigaos.net/wiki/Executing_External_Programs

I believe I found out how MultiView calls the external program. In a new function called GetOptions it uses FindToolType to scan the system to find the DTConvert Icon. When it finds the icon it stores the full path in a string variable. It then uses System() to call the DTConvert program in asynchronous mode. So now I must make DTConvert itself work correctly then "Export" will work correctly from the MultiView Project menu.

« Last Edit: November 13, 2021, 04:09:45 PM by miker1264 »



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #5 on: November 13, 2021, 04:36:00 PM
It seems that whomever added "Export..." To the MultiView menu, probably for expediency, merely replaced "Save As" with the new item. They did that so they wouldn't have to renumber all the program menu items because that can be a real pain.

But since I have to renumber the menu items in strings.h anyhow and because I use Save As... quite often I will add it back. So now the project menu is: "Open, Export, Save As, Save As IFF, About, Quit". Save As saves an exact copy of the file.
« Last Edit: November 13, 2021, 04:39:08 PM by miker1264 »



AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3740
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #6 on: November 13, 2021, 05:37:25 PM
Yes, that's right, also because Save As refers to the original format, while Export and save in a different format!

Regarding audio on Multiview, you don't need to have audio to check if it supports audio formats, if you try to open with Multiview a "wave" file, even without the sound card you should receive the error "unknown datatypes", in practice it is as if the wave.datatype was incompatible or did not exist in the system!

Just for the chronicle, on OS3, OS4 and MOS Multiview Play Wave files
« Last Edit: November 13, 2021, 05:44:31 PM by AMIGASYSTEM »



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #7 on: November 13, 2021, 06:19:44 PM
Interesting. I opened a wav file in MultiView on my x86-64 test system and it didn't complain. Instead a nice blue image with a yellow sine wave appeared in a window. The sound didnt play because my sound doesn't yet work on x86-64 as far as I know.

So I must assume you are talking about AROS One x86? In that case I will look into the wave file sound issue further for x86. 

I have concluded after much effort that MultiView works but DTConvert doesn't. Maybe it needs higher system files.

So rather than link to an external program I will try to come up with another export solution using datatypes to convert files.
« Last Edit: November 13, 2021, 06:27:28 PM by miker1264 »



AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3740
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #8 on: November 13, 2021, 06:28:08 PM
On OS3 and OS4 instead comes out a Play Button, see screenshot

Quale AROS stai usando ABI-v1?
« Last Edit: November 13, 2021, 06:55:58 PM by AMIGASYSTEM »



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #9 on: November 13, 2021, 06:50:37 PM
On OS3 and OS4 instead comes out a Play Button, see screenshot

Which AROS are you using ABI-v1 ?

I'm using IcarosDesktop x86-64 derived from ABIv1.

I use x86-64 for compiling and testing code intended to be backported to x86 eventually. Only after it is completely stable.
« Last Edit: November 13, 2021, 06:56:02 PM by miker1264 »



AMIGASYSTEM

  • Global Moderator
  • Legendary Member
  • *****
    • Posts: 3740
    • Karma: +69/-2
  • AROS One
    • AROS One
Reply #10 on: November 13, 2021, 06:54:49 PM
Solved on AROS One x86 I had a problem on the "Wave" datatypes descriptor, now it works, I would like to understand if the image is in Multiview somewhere in the system !

EDIT:

The image given by Multiview to the sounds is not found as a file but is included in a datatypes :)
« Last Edit: November 14, 2021, 02:11:37 AM by AMIGASYSTEM »



deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 1524
    • Karma: +118/-0
Reply #11 on: November 14, 2021, 12:05:21 AM
About six months ago we brought the ABIv1 version of MultiView forward into our repository. But when I tried to compile it recently to verify the Export Menu Item I noticed a few things. It didn't compile correctly. Many errors were associated with missing menu items. When I did a file by file analysis between the 2019 version vs the 2020 version it seemed the strings.h file was missing.

Are you saying Multiview from here (https://github.com/deadw00d/AROS) does not compile?



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #12 on: November 14, 2021, 02:03:58 AM
deadwood

It seems to be missing strings.h with the menu definitions. Once that is added then it compiles. Also the ABIv1 source seems to be missing two files - both the strings.h and catalog_version.h.

Also for some reason the DTConvert doesn't work on my x86-64 test system. Maybe it requires updated system files. It refuses to enumerate the datatypes list. So the listview remains blank.

The DTConvert for the compiled binaries (nightly) for ABIv0 also doesn't work. Similarly it crashes with an illegal instruction error.
« Last Edit: November 14, 2021, 02:17:28 AM by miker1264 »



deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 1524
    • Karma: +118/-0
Reply #13 on: November 14, 2021, 04:23:10 AM
That's weird - I just executed clean build of linu-x86_64 on my build server and it compiled without problem :/



miker1264

  • Legendary Member
  • *****
    • Posts: 1827
    • Karma: +84/-6
Reply #14 on: November 14, 2021, 09:23:49 AM
That's weird - I just executed clean build of linu-x86_64 on my build server and it compiled without problem :/

Hello again.  :)

I dunno. Maybe it's user error on my part. DTConvert doesn't work for me either.

After I renumbered the menu items and added Export... to the strings.h file I copied from my older MultiView it all worked. Except DTConvert.

I also added Save As... back to the menu because I find it very useful and Export... is not the same as Save As...
« Last Edit: November 14, 2021, 11:12:56 AM by miker1264 »