Hello again! I'd like to see the $inmidi, $inwave, and $insong features extended just a bit. What I'm proposing is the following:

Synopsis:
  • $inmidi[(N/match[,N])][.property]
  • $insong[(N/match[,N])][.property]
  • $inwave[(N/match[,N])][.property]


Alright, so some explaining is in order here. Since all three of these identifiers pretty much function the same way, I'll use $insong as an example:

  • $insong
    Returns $true if that type is playing
  • $insong.fname/length/pause/pos
    Should still return each property type for the currently playing sound file type
  • $insong(0)
    Returns the total amount of files in that file types' queue.
  • $insong(*.wma,0)
    Returns the total number of files in this type's queue with the wildcard extension *.wma
  • $insong(*beatles*,0)
    Again, returns total wildcard match results from the queue of that sound type
  • $insong(*,0)
    Returns all songs in the queue, including the currently playing song, of that type
  • $insong(*.mp3,3).length
    Retrieves the length of the 3rd matching *.mp3 file type in the sound type queue
  • $insong(*.wma,2).fname
    Returns the filename of the 2nd matching *.wma file in the sound type queue


If the sound type is currently in the queue, but not the sound playing, then the properties available are: fname, and length, and the other two should just return $null. Otherwise, if the sound is playing, the other two properties, pos, and pause, should be available. If the match is specified, and the optional N is 0, the .properties should return $null.

In any case, thank you, again, for considerations, and or rejections! smile


-Zmodem