From WikiChip
Difference between revisions of "mirc/identifiers/$sound"
< mirc‎ | identifiers

m (Properties: Fix .vbr)
 
(3 intermediate revisions by 2 users not shown)
Line 30: Line 30:
 
: <span style="display: inline-block; width: 110px;">'''version'''</span>Gets the version number of the song, or track.
 
: <span style="display: inline-block; width: 110px;">'''version'''</span>Gets the version number of the song, or track.
 
: <span style="display: inline-block; width: 110px;">'''bitrate'''</span>Returns the [[bitrate]] for the file.
 
: <span style="display: inline-block; width: 110px;">'''bitrate'''</span>Returns the [[bitrate]] for the file.
: <span style="display: inline-block; width: 110px;">'''vbr'''</span>Gets the [[variable bit rate]] for the file.
+
: <span style="display: inline-block; width: 110px;">'''vbr'''</span>Returns ''$true'' or ''$false'' if variable bit rate is found.
 
: <span style="display: inline-block; width: 110px;">'''sample'''</span>Returns the [[sampling frequency]].
 
: <span style="display: inline-block; width: 110px;">'''sample'''</span>Returns the [[sampling frequency]].
 
: <span style="display: inline-block; width: 110px;">'''mode'''</span>Returns the mode: ''mono'', ''stereo'', etc.
 
: <span style="display: inline-block; width: 110px;">'''mode'''</span>Returns the mode: ''mono'', ''stereo'', etc.
Line 75: Line 75:
 
* {{mIRC|on mp3end}}
 
* {{mIRC|on mp3end}}
 
* {{mIRC|on nosound}}
 
* {{mIRC|on nosound}}
* {{mIRC|on wavened}}
+
* {{mIRC|on waveend}}
 
* {{mIRC|$inmidi}}
 
* {{mIRC|$inmidi}}
 
* {{mIRC|$insong}}
 
* {{mIRC|$insong}}

Latest revision as of 20:06, 26 March 2024

$sound is a powerful identifier that can be used to retrieve various information about sound files, including: directories which contain specific sounds file types, as well as ID3 tags associated with sound files which support them.

Note: This identifier is also a part of the playing music section.

Synopsis[edit]

$sound(<type>)

Possible value for <type>:

  • mp3 - Return the mp3 folder
  • midi - Return the midi folder
  • wave - Return the wave folder

$sound without parameters returns the default folder for music in general.

$sound(filename>)[.property]

Properties[edit]

If used with a music filename, the following properties are available:

Note: Only mp3, ogg, and wma files currently support the following properties. Keep in mind that not all properties may have been set. Each property returns the id3v1 values. For id3v2, use the .tag, and .tags properties.

albumRetrieves the specified album name sound file.
titleReturns the song title for the file.
artistReturns the artist name for the file.
yearReturns the year associated with the song release.
commentReturns any comments made by the file creator.
genreGrabs the genre for the file, if set.
trackRetrieves the track number associated with the song.
lengthReturns the full length of the song in milliseconds.
versionGets the version number of the song, or track.
bitrateReturns the bitrate for the file.
vbrReturns $true or $false if variable bit rate is found.
sampleReturns the sampling frequency.
modeReturns the mode: mono, stereo, etc.
copyrightReturns any copyright information.
privateReturns $true or $false for the private tag.
crcReturns $true or $false if crc is found.
.id3Returns the id3 tag information.
.tagUsed to retrieve id3v2 information.
.tagsUsed to retrieve id3v2 information.

Examples[edit]

Echo the artist name of the currently playing mp3 file to the active window:

//echo -a $sound($insong.fname).artist

Create a small alias that will open a window, @id3info, and echo some basic info about the currently playing song to it:

alias id3info {
 
  ; First, we check to make sure we currently have an mp3, ogg, or wma file playing
  if ($insong) {
 
    ; If the @id3info window is open, clear it, otherwise create it.
    $iif($window(@id3info),clear @id3info,window @id3info)
 
    echo @id3info Artist: $sound($insong.fname).artist
    echo @id3info Track: $sound($insong.fname).track
    echo @id3info Title: $sound($insong.fname).title
    echo @id3info Album: $sound($insong.fname).album
 
    ; The below calculation converts the milliseconds for the sound
    ; file length into the format mm:ss, or minutes:seconds. Note that
    ; this does not properly support lengths over 59 minutes and 59
    ; seconds long.
    echo @id3info Length: $replace($round($calc($sound($insong.fname).length / 1000 / 60),2),.,:)
    echo @id3info Year: $sound($insong.fname).year
  }
}

Compatibility[edit]

Added: mIRC v6.0
Added on: 03 Feb 2002
Note: Unless otherwise stated, this was the date of original functionality.
Further enhancements may have been made in later versions.


See Also[edit]

v · d · e mIRC identifier list

$ $$, $, $0, $1-, $!, $&, $*, $+, $++, $?

A $abook, $abs, $acos, $active, $activecid, $activewid, $adate, $address, $addtok, $addtokcs, $agent, $agentname, $agentstat, $agentver, $alias, $and, $anick, $ansi2mirc, $aop, $appactive, $appstate, $asc, $asctime, $asin, $atan, $atan2, $auto, $avoice, $away, $awaymsg, $awaytime

B $banlist, $banmask, $base, $beta, $bfind, $bindip, $bitoff, $biton, $bits, $bnick, $bvar, $bytes

C $calc, $caller, $cancel, $cb, $cd, $ceil, $chan, $chanmodes, $channel, $chantypes, $chat, $chr, $cid, $clevel, $click, $cmdbox, $cmdline, $cnick, $color, $colour, $com, $comcall, $comchan, $comchar, $comerr, $compact, $compress, $comval, $cos, $cosh, $count, $countcs, $cr, $crc, $creq, $crlf, $ctime, $ctimer, $ctrlenter

D $date, $day, $daylight, $dbuh, $dbuw, $dccignore, $dccport, $dde, $ddename, $debug, $decode, $decompress, $deltok, $devent, $dialog, $did, $didreg, $didtok, $didwm, $dir, $disk, $dlevel, $dll, $dllcall, $dname, $dns, $donotdisturb, $dqwindow, $duration

E $ebeeps, $editbox, $email, $emailaddr, $encode, $envvar, $error, $eval, $evalnext, $event, $eventid, $eventparms, $exists, $exiting

F $false, $feof, $ferr, $fgetc, $file, $filename, $filtered, $find, $finddir, $finddirn, $findfile, $findfilen, $findtok, $findtokcs, $fline, $flinen, $floor, $font, $fopen, $fread, $fromeditbox, $fserv, $fserve, $fulladdress, $fulldate, $fullname, $fullscreen

G $get, $getdir, $getdot, $gettok, $gmt, $group

H $halted, $hash, $height, $hfile, $hfind, $hget, $highlight, $hmac $hmatch, $hnick, $host, $hotline, $hotlinepos, $hotlink, $hotp, $hregex, $hypot

I $iaddress, $ial, $ialchan, $ibl, $idle, $iel, $ifmatch, $ifmatch2, $ignore, $iif, $iil, $inellipse, $ini, $initopic, $inmidi, $inmode, $inmp3, $inpaste, $inpoly, $input, $inrect, $inroundrect, $insong, $insongpause, $instok, $int, $intersect, $inwave, $inwho, $ip, $iptype, $iql, $isadmin, $isalias, $isbit, $isdde, $isdir, $isfile, $isid, $islower, $istok, $istokcs, $isupper, $isutf

K $keychar, $keyrpt, $keyval, $knick

L $lactive, $lactivecid, $lactivewid, $left, $leftwin, $leftwincid, $leftwinwid, $len, $level, $lf, $line, $lines, $link, $lock, $locked, $lof, $log, $log10, $logdir, $logstamp, $logstampfmt, $longfn, $longip, $lower, $ltimer

M $maddress, $mask, $matchkey, $matchtok, $matchtokcs, $maxlenl, $maxlenm, $maxlens, $md5, $me, $menu, $menubar, $menucontext, $menutype, $mid, $mididir, $mircdir, $mircexe, $mircini, $mkfn, $mklogfn, $mknickfn, $mnick, $mode, $modefirst, $modelast, $modespl, $mouse, $mousecx, $mousecy, $mousedx, $mousedy, $mousekey, $mouselb, $mousex, $mousey, $mousewin, $mp3, $mp3dir, $msfile, $msgstamp, $msgtags

N $N, $naddress, $network, $newnick, $nhnick, $nick, $nickmode, $no, $nofile, $nopath, $nopnick, $noqt, $not, $notags, $notify, $null, $numeric, $numtok, $nvnick

O $ok, $online, $onlineserver, $onlinetotal $onpoly, $opnick, $or, $ord, $os

P $parmN, $parms, $parseline, $parsetype, $parseutf, $passivedcc, $pi, $pic, $play, $pnick, $portable, $portfree, $pos, $poscs, $prefix, $prop, $protect, $puttok

Q $qt, $query

R $r, $raddress, $rand, $rands, $rawbytes, $rawmsg, $read, $readini, $readn, $regbr, $regerrstr, $regex, $regml, $regmlex, $regsub, $regsubex, $remote, $remove, $removecs, $remtok, $remtokcs, $replace, $replacecs, $replacex, $replacexcs, $reptok, $reptokcs, $result, $rgb, $right, $rnick, $round

S $samepath, $scid, $scon, $script, $scriptdir, $scriptline, $sdir, $send, $server, $serverip, $servertarget, $sfile, $sha1, $sha256, $sha384, $sha512, $shortfn, $show, $signal, $sin, $sinh, $site, $sline, $snick, $snicks, $snotify, $sock, $sockbr, $sockerr, $sockname, $sorttok, $sorttokcs, $sound, $speak, $sqrt, $sreq, $ssl, $sslcertsha1, $sslcertsha256, $sslcertvalid, $ssldll, $ssllibdll, $sslready, $sslversion, $starting, $status, $str, $strip, $stripped, $style, $submenu, $switchbar, $sysdir

T $tan, $tanh, $target, $tempfn, $ticks, $time, $timeout, $timer, $timestamp, $timestampfmt, $timezone, $tip, $tips, $titlebar, $token, $toolbar, $topic, $totp, $treebar, $true, $trust

U $ulevel, $ulist, $unsafe, $upper, $uptime, $url, $usermode, $utfdecode, $utfencode

V $v1, $v2, $var, $vc, $vcmd, $vcmdstat, $vcmdver, $version, $vnick, $vol

W $wavedir, $wid, $width, $wildsite, $wildtok, $wildtokcs, $window, $wrap

X $xor

Y $yes

Z $zip

= =$nick