Author Topic: 'relative reference position' function behaving unexpectingly  (Read 12030 times)

jistme

  • Guest
I am trying to make use of the skincreator option to define a relative position for a button, depending on whether another element is displayed or not.

In this case I am trying to relocate the equalizer button, depending on Spectrum being shown or not.   

I am using:

element id="EqualiserButton" parent="Panel">
  <left relativeTo="Spectrum.Left" offset="-40" />

for the position of the Equalizer button,
and:
 
<replacementElement id="Spectrum" replaceWith="Panel.Right" offsetAdjustment="0" />

so it will relocate when Spectrum is not displayed.

When displaying Spectrum I have this:



When not displaying Spectrum I would expect to get the Equalizer button somewhere at the yellow cross.
But whatever value I use for offsetAdjustment, it will always show at the same position in the yellow circle:



Is this some bug, or am I making a thinking error?

Bee-liever

  • Member
  • Sr. Member
  • *****
  • Posts: 3833
  • MB Version: 3.6.8849 P
Try using
element id="EqualiserButton" parent="Panel">
  <left relativeTo="Spectrum.Right" offset="-72" />

and
<replacementElement id="Spectrum" replaceWith="Panel.Right" offsetAdjustment="32" />

I think that's what worked in 'Round Midnight'
MusicBee and my library - Making bee-utiful music together

jistme

  • Guest
Thnx Bee-liever, tried that, but that gives similar results.
Also then, changing offsetResults to e.g. -50, 50 or any other value makes no difference.

Maybe 'Panel.Right' is not a valid option to use for this.
I'll try creating an 'invisible button' on the far right, and use that as a reference. I'll report back later.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34344
i recall i fixed a bug (but quite a while ago) around this, so its possible you might have an old version of SkinCrerator.exe
You may need to re-download the pack from the skin creator topic

jistme

  • Guest
You may need to re-download the pack from the skin creator topic

Not really sure, but is this the latest? :
http://getmusicbee.com/forum/index.php?topic=3834.msg20795#msg20795

If so, that is the one I am using already.

jistme

  • Guest
Maybe 'Panel.Right' is not a valid option to use for this.
I'll try creating an 'invisible button' on the far right, and use that as a reference. I'll report back later.

Tried this (replacing Panel.Right with TrackInfoButton as relative reference position) but doesn't work either.
The only obvious difference I notice with my xml, and the original and Bee-lievers Midnight Blue ones, is they have it 'moving around' within 'TrackInfoPanel', and I am trying to do this in reference to 'Panel'.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34344
its quite possible the uploaded version is not the latest as i definitely fixed a bug for bee-liever around this.
This is the latest version of the .exe:
http://www.mediafire.com/?q9m2qkys966ny8x


Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34344



jistme

  • Guest
The eq. button is now behaving correctly, but now I find TrackRating doesn't.
It will not follow the new position correctly.
I also tried to make TrackInfoPanel.Right dependent on TrackLove showing or not. Doesn't work and gives errors.

To visualize what I'm trying to accomplish:

(and I don't even dare to try dependency on TrackRating showing or not)

I think you'll probably know this, but skincreator is not yet updated with your recent changes to mb.exe for this.
For example it will save an xmlc correctly, but now eg. unticking "show: Spectrum" crashes it.

If you're prepared to dive into this matter, I could present more specific error messages and try out different settings, but I could also imagine this is of a low priority for the moment. (it is also not that important to me)

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34344
i cant see anything in your skin definition that contains relative references (relative to the spectrum or equaliser) that would make the the rating (and player controls) move across - i only see the equaliser being relative to the spectrum and nothing relative to the equaliser.
Similar thing for the ratings - if you expect the play position to move across then there is no references in your skin to make that happen that i can see.
If you still have issues with it, hopefully one of the forum members can help

jistme

  • Guest
This next effort of mine in trying to accomplish to have rating moving also, came after the xml that I PM'ed you.
So you don't have that xml.

To be honest, I'm not enjoying this enough to make much more effort on it for myself.

If it is something you are interested in and wanting to investigate and look into, I will put more time in it, and give you more details.
Otherwise it's maybe better to just leave it for now.