What you were thinking is good thinking, its just that it won't work in this location because you only want 1 seamless call, not two.
So the next place to look is the list template. You dont have
template= in there at all, so Seamless is using the default list template which is:
/modules/jrSeamless/templates/item_list.tpl
It looks like this:
{if isset($_items)}
{foreach $_items as $item}
{if is_file("`$jamroom_dir`/modules/`$item.seamless_module_name`/templates/item_list.tpl")}
{jrSeamless_parse_template item=$item template="item_list.tpl" module=$item.seamless_module_name}
{elseif jrUser_is_admin()}
item_list.tpl for {$item.seamless_module_name} not found<br>
{/if}
{/foreach}
{/if}
That reads:
For every item that has been found, check to see if the module has an item_list.tpl file, if it does show that file.
So you want to change what it reads to make sure that it has an image if its an audio file, so you want it to read:
For every item that has been found, if the item is a jrAudio item make sure it has an image and check to see if the module has an item_list.tpl file and that the module is not , if it does show that file.
So try:
{if isset($_items)}
{foreach $_items as $item}
{if $item.seamless_module_name == 'jrAudio' && !isset($item.audio_image_size)}
{continue}
{/if}
{if is_file("`$jamroom_dir`/modules/`$item.seamless_module_name`/templates/item_list.tpl")}
{jrSeamless_parse_template item=$item template="item_list.tpl" module=$item.seamless_module_name}
{elseif jrUser_is_admin()}
item_list.tpl for {$item.seamless_module_name} not found<br>
{/if}
{/foreach}
{/if}