Jump to content
C4 Forums | Control4

Correct Icons not appearing in Composer


zaphod

Recommended Posts

I am working on a driver and I can't get the correct icons to show up in Composer.  I have no issue getting my custom icons to show up in Navigator but they are not showing up at all in Composer.

I have created a 16x16 file and a 32x32 file they are in the www/icons folder and they are referred to in the xml as can be seen below.  But no matter what I do Composer displays the default media player icon which is three DVDs with a rainbow effect.

  <small image_source="c4z">icons/device_sm.png</small>
  <large image_source="c4z">icons/device_lg.png</large>
  <control>lua_gen</control>
  <composer_categories>
    <category>Audio/Video</category>
  </composer_categories>
  <proxies>
    <proxy proxybindingid="5001" name="SageTV" image_source="c4z" small_image="icons/device_sm.png" large_image="icons/device_lg.png">media_player</proxy>
  </proxies>

And here is the www/icons folder:

 Directory of C:\Users\xxxxx\Documents\Control4\DriverDevelopement\SageExtender\www\icons

12/31/2017  04:54 PM    <DIR>          .
12/31/2017  04:54 PM    <DIR>          ..
12/31/2017  07:23 PM             2,039 device_lg.png
12/31/2017  07:22 PM               943 device_sm.png
12/31/2017  04:53 PM            12,249 experience100.png
12/31/2017  04:52 PM            13,564 experience110.png
12/31/2017  04:52 PM            14,618 experience120.png
12/31/2017  04:51 PM            15,474 experience130.png
12/29/2017  03:58 PM            17,898 experience140.png
12/29/2017  04:00 PM             1,197 experience20.png
12/31/2017  04:54 PM             2,359 experience30.png
12/31/2017  04:54 PM             3,505 experience40.png
12/29/2017  03:56 PM           103,775 experience400.png
12/31/2017  04:54 PM             4,713 experience50.png
12/31/2017  04:53 PM             5,890 experience60.png
12/29/2017  03:59 PM             5,892 experience70.png
12/31/2017  04:53 PM             8,903 experience80.png
12/29/2017  05:38 PM             7,958 experience90.png
              16 File(s)        220,977 bytes
               2 Dir(s)  41,820,078,080 bytes free

Any suggestions?

Link to comment
Share on other sites


Everything looks correct in terms of file locations and names. I wonder if it's the lack of the "qty" attribute in the <proxies> element, see below from the Getting Started Guide:

<proxies qty="1">
       <proxy proxybindingid="5003" name="KEYPAD" small_image="devices_sm/keypad_16.gif" large_image="devices_lg/keypad_32.gif">light_v2</proxy>
</proxies>


Maybe try adding the "qty" attribute and seeing if that works?

Link to comment
Share on other sites

8 hours ago, zaphod said:

I have created a 16x16 file and a 32x32 file they are in the www/icons folder and they are referred to in the xml as can be seen below.  But no matter what I do Composer displays the default media player icon which is three DVDs with a rainbow effect.

Try using a gif

Link to comment
Share on other sites

8 hours ago, annex⁴ said:

Try using a gif

I was originally using a gif and switched to a png - I will try gif again in case I didn't have something else correct before.  But I am pretty sure that I have seen other drivers using png.

Link to comment
Share on other sites

14 hours ago, msgreenf said:

Why so you have them 2x? They should only be once

Sent from my Pixel XL using Tapatalk
 

I am guessing you mean the small_image definitions that are on their own and then within the <proxy> statement.  I added the one within the proxy statement when I couldn't get it working at first.  

Link to comment
Share on other sites

  • 2 years later...
19 minutes ago, ChicagoGuy said:

Any update on this?  I'm having the same problem.

The icons are always of the Proxy... nothing custom seems to work. I've tried GIF & PNG. I've tried in the Composer & in the Driver.

share your XML

Link to comment
Share on other sites

I've dumbed it down quite a bit.  I have a full driver somewhere else, but I figure if I can't get a basic one to change, why keep working on the complex one. I'm also trying this out on the Virtual Controller right now...

 

In this example, it continues to show the cable icon, not my modified icon (aptly named Android).

<devicedata>
  <version>5</version>
  <manufacturer>XXXXXXX</manufacturer>
  <model>Default Model</model>
  <search_type>c4:av_gen</search_type>
  <creator>Control4 (support@control4.com)</creator>
  <name>Default Driver Name</name>
  <small image_source="c4z">icons/Android_sm.gif</small>
  <large image_source="c4z">icons/Android_lg.gif</large>
  <control>lua_gen</control>
  <controlmethod>ir</controlmethod>
  <driver>DriverWorks</driver>
  <copyright>Copyright 2004-2014 Control4 Corporation.  All rights reserved.</copyright>
  <created>06/11/2020 3:16 PM</created>
  <modified>06/11/2020 3:16 PM</modified>
  <proxies qty="1">
    <proxy proxybindingid="5000" smimagepath="icons/Android_sm.gif" lgimagepath="icons/Android_lg.gif">cable</proxy>
  </proxies>
  <config>
    <script></script>
  </config>
  <connections>
    <connection>
      <id>5001</id>
      <connectionname>None</connectionname>
      <facing>6</facing>
      <type>2</type>
      <consumer>false</consumer>
      <audiosource>false</audiosource>
      <videosource>false</videosource>
      <linelevel>false</linelevel>
      <classes>
        <class>
          <classname></classname>
        </class>
      </classes>
    </connection>
    <connection>
      <id>5000</id>
      <connectionname>cable</connectionname>
      <facing>6</facing>
      <type>2</type>
      <consumer>false</consumer>
      <audiosource>false</audiosource>
      <videosource>false</videosource>
      <linelevel>false</linelevel>
      <classes>
        <class>
          <classname>SATELLITE</classname>
        </class>
      </classes>
    </connection>
  </connections>
  <capabilities></capabilities>
</devicedata>

 

Directory Structure:

image.png.ff9f3d407816203f7e086c4ba7b0fbf9.png

Link to comment
Share on other sites

So, that is the www/icons folder.  I also tried PNGs.  I tried both forward & backward slashes.  I noticed that the DriverWorks app doesn't update the XML appropriately, so I only use it to build & publish, not update the code.

I'm wonder if the Composer is caching it badly, so I'm not seeing any changes.  I'd love to see a basic example that someone else has working to see if it works in my environment.

 

Link to comment
Share on other sites

Well, I got it to some degree.  The SMALL & LARGE tags seem to have no effect, but I can overwrite the image at the proxy level.  However, only the small one. The large one stays as the DVD powered on logo. 

I also took them out of my project and started to use the ones in the composer directories.

I also found the cache:  C:\Users\XXXXX\AppData\Roaming\Control4\3.1.3\etc\c4z

The driver gets saved here after adding it to the project and then unpackaged. If not enough of the driver has changed, Composer uses the old driver. I noticed it wasn't being updated after loading updated versions.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.