<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt; color: #000000"><div>Hi Folks,</div><div><br></div><div>Most of the following explanation is for my benefit with the expectation that I will get corrections where I misunderstand, but the real question is just the last line of this message.</div><div><br></div><div><span style="font-size: 10pt; background-color: rgb(253, 253, 253);">I have an audio field which plays mp3s just fine. &nbsp;I need to occasionally download them. &nbsp;When I configure a content type, I can select a display field type of "Audio Player" or "Audio Player with Download". &nbsp; I need "Audio Player with Download", but this is a cruel joke! &nbsp;<span style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;">"Left-Click" just gets me "Play";&nbsp;</span>"Download" requires "Right-Click".</span></div><div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><span style="font-size: 10pt;" data-mce-style="font-size: 10pt;">&nbsp;</span></div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><span style="font-size: 10pt;" data-mce-style="font-size: 10pt;">When I "Inspect Element", I see a reasonably complicated block of HTML for each "Audio Player with Download".</span></div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><span style="font-size: 10pt;" data-mce-style="font-size: 10pt;"><span style="font-size: 10pt;" data-mce-style="font-size: 10pt;"></span></span><blockquote><pre data-mce-style="margin: 0px;" style="margin: 0px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;section class="field field-name-field-tl field-type-file field-label-inline clearfix view-mode-full"&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 30px;" style="margin: 0px; padding-left: 30px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;h2 class="field-label"&gt;TL:&amp;nbsp;&lt;/h2&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 30px;" style="margin: 0px; padding-left: 30px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;div class="field-items"&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 60px;" style="margin: 0px; padding-left: 60px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;div class="field-item even"&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 90px;" style="margin: 0px; padding-left: 90px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;object class="audioplayer2" height="24" width="290" data="/sites/all/libraries/audioplayers/audio-player/player.swf" type="application/x-shockwave-flash"&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 120px;" style="margin: 0px; padding-left: 120px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;param value="/sites/all/libraries/audioplayers/audio-player/player.swf" name="movie"&gt;</span><br><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;param value="playerID=2&amp;amp;bg=0xCDDFF3&amp;amp;leftbg=0x357DCE&amp;amp;lefticon=0xF2F2F2&amp;amp;rightbg=0xF06A51&amp;amp;rightbghover=0xAF2910&amp;amp;righticon=0xF2F2F2&amp;amp;righticonhover=0xFFFFFF&amp;amp;text=0x357DCE&amp;amp;slider=0x357DCE&amp;amp;track=0xFFFFFF&amp;amp;border=0xFFFFFF&amp;amp;loader=0xAF2910&amp;amp;soundFile=http://new.capitolaires.org/sites/default/files/music/tl/Sweet%20And%20Lovely.mp3" name="FlashVars"&gt;</span><br><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;param value="high" name="quality"&gt;</span><br><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;param value="false" name="menu"&gt;</span><br><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;param value="transparent" name="wmode"&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 90px;" style="margin: 0px; padding-left: 90px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;/object&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 90px;" style="margin: 0px; padding-left: 90px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;div class="audio-download"&gt;&lt;b&gt;Download:&lt;/b&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 120px;" style="margin: 0px; padding-left: 120px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;span class="file"&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 150px;" style="margin: 0px; padding-left: 150px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;img class="file-icon" alt="" title="audio/mpeg" src="/modules/file/icons/audio-x-generic.png"&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 150px;" style="margin: 0px; padding-left: 150px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;"> &lt;a href="http://new.capitolaires.org/sites/default/files/music/tl/Sweet%20And%20Lovely.mp3" type="audio/mpeg; length=1707678"&gt;Sweet And Lovely.mp3&lt;/a&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 120px;" style="margin: 0px; padding-left: 120px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;/span&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 90px;" style="margin: 0px; padding-left: 90px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;/div&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 60px;" style="margin: 0px; padding-left: 60px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;/div&gt;</span></pre><pre data-mce-style="margin: 0px; padding-left: 30px;" style="margin: 0px; padding-left: 30px;"><span style="font-family: arial, helvetica, sans-serif; font-size: xx-small;" data-mce-style="font-family: arial, helvetica, sans-serif; font-size: xx-small;">&lt;/div&gt;</span></pre><pre data-mce-style="margin: 0px;" style="margin: 0px;"><span style="font-size: xx-small; font-family: arial, helvetica, sans-serif;" data-mce-style="font-size: xx-small; font-family: arial, helvetica, sans-serif;">&lt;/section&gt;</span></pre></blockquote></div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><span style="font-size: 10pt;" data-mce-style="font-size: 10pt;">The way I see it, I can either&nbsp;</span><span style="font-size: 10pt;">hack this field to make it do what I want</span><span style="font-size: 10pt;">&nbsp;or I can&nbsp;</span><span style="font-size: 10pt;">create a display field that does what I want.</span></div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><span style="font-size: 10pt;"><br></span></div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><span style="font-size: 10pt;">"Hacking" would involve:</span></div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><span style="font-size: 10pt;" data-mce-style="font-size: 10pt;"><span style="font-size: 10pt;" data-mce-style="font-size: 10pt;"></span></span><ol><li><span style="font-size: 10pt;" data-mce-style="font-size: 10pt;">I can re-jigger the whole node in JavaScript.</span></li><li><span style="font-size: 10pt;" data-mce-style="font-size: 10pt;">Find the code which renders "Audio Field with Download" in core, and write a module that will intercept that output and modify it to the structure I want before it becomes part of the page</span></li></ol>"Creating" would involve:</div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><ol><li><span style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;">Find the code which renders "Audio Field with Download" in core, and copy it as a Custom Formatter for "Audio Field with Download, Really"</span></li></ol></div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><br></div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><br></div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><br></div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;"><br></div><div style="background-color: #fdfdfd;" data-mce-style="background-color: #fdfdfd;">I don't think either of my "hacking" options are very future-proof, which leaves me with my preference, "creating", but I need to know where the code which renders the display field "Audio Field with Download" lives. &nbsp;Can anybody tell me w<span style="font-size: small;">here can I find the code that outputs the HTML I see when I define a display field as "Audio File with Download"?</span></div><div><span size="2" style="font-size: small;" data-mce-style="font-size: small;"></span><br></div><div><span size="2" style="font-size: small;" data-mce-style="font-size: small;">Thanks for the help,</span></div><div><span size="2" style="font-size: small;" data-mce-style="font-size: small;"><br></span></div></div><div><span name="x"></span>Chris.</div></div></body></html>