Results 1 to 9 of 9

Thread: How do I script this???

  1. #1
    Join Date
    Dec 1969
    Location
    Nottingham, England
    Posts
    263

    Default How do I script this???

    Help! In my template, I want to show an icon in album view that indicates that the entire album is remastered. The trouble is that I have some albums where only SOME of the tracks have been remastered. If I check the 'remastered' box in track properties, this automatically part-checks the remastered box in album properties. But a part-check seems to act as if it is a full check.

    I'm probably not explaining myself very clearly! If I script: <dax:if(remastered)><img width=20 src="c:\program files\orangecd\palette1.ico" /></dax:if> I get my icon that shows the album is remastered. But this also shows when I have checked only one track as being remastered! I need the syntax for saying "if ALL TRACKS remastered etc etc", as I only want my remastered icon to show on the album page IF ALL TRACKS ARE REMASTERED!!

    I hope a). that someone understands me, and b). can help!

    Many thanks.....

  2. #2
    Join Date
    Feb 2009
    Posts
    1,549

    Default

    Quote Originally Posted by BLOWERS View Post
    I'm probably not explaining myself very clearly! If I script: <dax:if(remastered)><img width=20 src="c:\program files\orangecd\palette1.ico" /></dax:if> I get my icon that shows the album is remastered. But this also shows when I have checked only one track as being remastered! I need the syntax for saying "if ALL TRACKS remastered etc etc", as I only want my remastered icon to show on the album page IF ALL TRACKS ARE REMASTERED!!
    I am afraid it's not doable with current template syntax. Album context simply doesn't offer that level of granularity.

    I am sure it can be achieved with JavaScript or CSS hack. Let me think about this overnight, there are several possibilities and I am not sure which is better.

    The idea is approximately this (writing from my head, never actually tested it

    Code:
    <script type="text/javascript">
    var all_remastered=true;
    <dax:track><dax:if(!trackremastered)>all_remastered=false;</dax:if></dax:track>
    if(all_remastered){
      document.write('<img src="...">');
    }
    </script>

  3. #3
    Join Date
    Dec 1969
    Location
    Nottingham, England
    Posts
    263

    Default Scripting query...

    Quote Originally Posted by andrei_c View Post
    I am afraid it's not doable with current template syntax. Album context simply doesn't offer that level of granularity.

    I am sure it can be achieved with JavaScript or CSS hack. Let me think about this overnight, there are several possibilities and I am not sure which is better.

    The idea is approximately this (writing from my head, never actually tested it

    Code:
    <script type="text/javascript">
    var all_remastered=true;
    <dax:track><dax:if(!trackremastered)>all_remastered=false;</dax:if></dax:track>
    if(all_remastered){
      document.write('<img src="...">');
    }
    </script>
    Thanks Andrei: I await your overnight thoughts with interest! I tried your first quick idea, but it didn't want to work (Template error). Might have been my fault, but I couldn't make it work!

  4. #4
    Join Date
    Feb 2009
    Posts
    1,549

    Default

    Here's the code that worked for me. Replace <img src="..."> with your image code.

    Code:
    <script type="text/javascript">
    var r=1;
    <dax:volume><dax:track><dax:if(!trackremastered)>r=0;</dax:if></dax:track></dax:volume>
    if(r){document.write('<img src="...">');}
    </script>

  5. #5
    Join Date
    Dec 1969
    Location
    Nottingham, England
    Posts
    263

    Default

    Hi Andrei,

    This is weird. I have inserted your script (substituting my image source, obviously), but OCD won't show the icon. It shows the placeholder (white box with red X) and, if I rt. click and select 'properties', it recognises the icon file. Am I missing something??!

    Many thanks.

  6. #6
    Join Date
    Feb 2009
    Posts
    1,549

    Default

    Quote Originally Posted by BLOWERS View Post
    Hi Andrei,

    This is weird. I have inserted your script (substituting my image source, obviously), but OCD won't show the icon. It shows the placeholder (white box with red X) and, if I rt. click and select 'properties', it recognises the icon file. Am I missing something??!

    Many thanks.
    Image file must be GIF, JPEG or PNG. I don't think IE will recognize anything else.

  7. #7
    Join Date
    Dec 1969
    Location
    Nottingham, England
    Posts
    263

    Default

    Andrei,

    The following bit of my template (using 'single' as my field to indicate that the album is fully remastered) DOES return the icon I want to show. AND it is an .ico file!

    <h2 class="album"><dax:if(single)><img width=20 src="c:\program files\orangecd\palette1.ico" /></dax:if>


    To avoid any risk that I have replaced the path wrongly, could you possibly show your script section with my specific icon path, please? Then I can simply cut and paste your section to replace my existing line (i.e. <dax:if(single)><img width=20 src="c:\program files\orangecd\palette1.ico" /></dax:if>).

    Surely it will then show my icon?!! Hope so....

  8. #8
    Join Date
    Feb 2009
    Posts
    1,549

    Default

    Try this.

    Code:
    <script type="text/javascript">
    var r=1;
    <dax:volume><dax:track><dax:if(!trackremastered)>r=0;</dax:if></dax:track></dax:volume>
    if(r){document.write('<img src="file:///c:/program%20files/orangecd/palette1.ico">');}
    </script>

  9. #9
    Join Date
    Dec 1969
    Location
    Nottingham, England
    Posts
    263

    Default

    Brilliant Andrei - many thanks for your help on this! I'm sure you have better things to do, so your time and trouble is much appreciated. It now works perfectly...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •