INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Nikolay - A Few Metamorphis Thoughts  (Read 1395 times)

Doof

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5908
  • Farm Animal Stupid
Nikolay - A Few Metamorphis Thoughts
« on: January 28, 2002, 07:07:03 am »

1. Anyway that Metamorphis could support PNG files? That would drastically reduce the size of skins and still allow higher numbers of colors.

2. I see that MJ now has support for ZIP files (library backups are zipped and the Skin Manager can install skins from zip files). Are there any plans to just store the skins as "MJS" (Media Jukebox Skin) files that are basically just all of the images and scripts in a zip file with an "MJS" extension (or whatever - I just made that up)?

3. I realize you're really busy, but if you ever get time, can you take a look at the WMP8 skin I submitted and tell me why the child windows don't seem to work the same way they do in skins that you guys create? In particular, in the OnInitialize event, why do you guys use (X |PLS| 23, Y - 45) and I have to just use (23, 45) or whatever? And why doesn't LoadSkinState seem to work for me the way it does for you? Also, why do my child windows disappear when I minimize and restore mini-me? I'm assuming there's some small part I'm confused about and coded wrong, but I just can't seem to find it. Thanks. Next Page
Logged

Nikolay

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1681
  • Former CTO, JRiver, Inc.
RE:Nikolay - A Few Metamorphis Thoughts
« Reply #1 on: January 28, 2002, 08:14:24 am »

Doof,

1. Metamorphis does not support PNG. Here is the list of supported formats: ".BMP", ".RLE", ".DIB", ".GIF", ".JPG", ".WMF", ".EMF"

2. I don't see any advantage in using zip files. There are disadvantages: slow loading speed, more problems when developing skins.

3. As far as I can see, the problem is that you position windows after you call LoadSkinState. LoadSkinState function will do the positioning for you. Use that instead:

function OnInitialize()
{
 // let the skin manage it's state by loading positions from State.xml
 // but if there is not State.xml file position all the windows
 if(Metamorphis.LoadSkinState() == false)
 {
    if (SongInfo.IsWindowVisible())
    {
      ShowInfo();
    }
    else if (Visualization.IsWindowVisible())
    {
      ShowVisualization();
    }
    else if (Playlist.IsWindowVisible())
    {
      ShowPlaylist();
    }
    else if (Equalizer.IsWindowVisible())
    {
      ShowEqualizer();
    }
 }
}

We use X|PLS|23, Y -45 because non of the skins we made use child windows, so we are positioning them relative to the Main window.

By the way I can't find you latest WMP 8 skin on your server.

And when are you going to post the cockroach skin?

Nikolay
Logged

Doof

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5908
  • Farm Animal Stupid
RE:Nikolay - A Few Metamorphis Thoughts
« Reply #2 on: January 28, 2002, 09:02:35 am »

1. I tried using jpg, but it tells me that there is an invalid bmp (changed both the file and the entry in main.xml).

2. I see your point. The advantages I can see is that it would give MJ an extension that it can associate itself with. So if you doubleclick the skin MJ can install it and/or switch to it. Kind of like how it associates itself with Winamp skins. They could be installed with PackageInstaller as well. Of course none of that depends on actually loading the skin from the "MJS" file. It would also allow you to eliminate an entire folder level in the MiniSkins folder by just having the zip files instead of seperate folders for each. Again, not a huge deal. Maybe distribute them as "MJS" but store them unzipped?

3. I tried using just LoadSkinState the way you describe, but nothing happened. I'll play around some more and see if I can figure it out.

I guess now I'm a little confused about child windows. When would you use one and when wouldn't you? I'm beginning to think that using Child windows may be the root of all of my problems. I'll try my skin without them and see what happens.


As for where my skin is. It's there, along with a couple of others. I renamed the first one I did, though, so it would match the actual name that Microsoft gave it. You can download them all if you want.

Windows XP - this is the first one I did, but there is a slightly better version at home that I'll upload tonight in case you'd rather wait. I fixed a couple of minor graphical problems and made the vis window take up the whole window area.

Goo - this is the green... gooey one.

Cockroach - this is the cockroach skin I threw together for KingSparta.
Logged

Nikolay

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1681
  • Former CTO, JRiver, Inc.
RE:Nikolay - A Few Metamorphis Thoughts
« Reply #3 on: January 28, 2002, 09:54:31 am »

Doof,

1. that will be fixed in next build, but I don't recoment using JPG, use Gif instead.

2. Next build will have support for MJS files (zipped media jukebox skins)

3. You have to use child windows if one window is located inside the other.

I'll take a look at WMP 8 skin and let you know if I find anything wrong.

Nikolay
Logged

Doof

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5908
  • Farm Animal Stupid
RE:Nikolay - A Few Metamorphis Thoughts
« Reply #4 on: January 28, 2002, 11:32:51 am »

Yeah, something is definitely not working right here.

If I remove "ParentWindow="Player" from any of the display windows (Song Info, Vis, EQ, Playlist), then they don't show up at all.
If I then switch to the x|PLS|192,y|PLS|23 syntax, it makes no difference.

If I remove all of the if statements from the OnIntialize function and just try to call LoadSkinState, it doesn't call up the last display window when I switch out and come back.

Here's what I just tried for my OnInitialize. It's not restoring any of my child windows. That's why I had to use the method I did in the version that's on the FTP site.

function OnInitialize()
{
 if(Metamorphis.LoadSkinState() == false)
 {
   ShowVisualization();
 }

}
Logged

Doof

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5908
  • Farm Animal Stupid
RE:Nikolay - A Few Metamorphis Thoughts
« Reply #5 on: January 28, 2002, 12:30:25 pm »

One more thing. Would it be possible to add support for displaying lyrics in a mini-me skin? Maybe with a scroll-box like we can with the playlist?
Logged
Pages: [1]   Go Up