FS#30542 - [timidity++] Cannot play URLs

Attached to Project: Arch Linux
Opened by Ondřej G. (nemamradfazole) - Wednesday, 04 July 2012, 18:37 GMT
Last edited by Eric Belanger (Snowman) - Saturday, 07 July 2012, 06:47 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Eric Belanger (Snowman)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Timidity can't play online files.

Additional info:
* timidity++ 2.13.2-11

Steps to reproduce:
$ timidity http://www.midiworld.com/midis/other/mozart/mozk216a.mid

My output is:
Requested buffer size 32768, fragment size 8192
ALSA pcm 'default' set buffer size 30104, period size 3760 bytes
Playing http://www.midiworld.com/midis/other/mozart/mozk216a.mid
MIDI file: http://www.midiworld.com/midis/other/mozart/mozk216a.mid
http://www.midiworld.com/midis/other/mozart/mozk216a.mid: No such file or directory
This task depends upon

Closed by  Eric Belanger (Snowman)
Saturday, 07 July 2012, 06:47 GMT
Reason for closing:  Fixed
Comment by Börje Holmberg (linfan) - Friday, 06 July 2012, 10:51 GMT
It works here. No problem, but you need to fiddle with firefox and add compatibility checking in firefox and maybe also install mozplugger and disable all but midi in mozpluggerrc and possibly also do some editing of the sound card line in mozpluggerrc and finally you might need to install BGM Conductor, which translates bgsounds to firefox tags. And you need some soundfonts, like timidity-freepats. I am a friend of midi and have had it working on all linuces since I started to use linux 1999. The biggest obstacle just now is that firefox has disabled Windows bgsound html code.
Comment by Ondřej G. (nemamradfazole) - Friday, 06 July 2012, 15:13 GMT
Thank you, Börje, but then, what is your output of running "timidity http://www.midiworld.com/midis/other/mozart/mozk216a.mid"? Firefox isn't interfering in this error. I have installed few soundfonts, so when the file is downloaded, I can play it this way:

$ timidity mozk216a.mid
Requested buffer size 32768, fragment size 8192
ALSA pcm 'default' set buffer size 32768, period size 8192 bytes
Playing mozk216a.mid
MIDI file: mozk216a.mid
Format: 1 Tracks: 17 Divisions: 384
Track name: Mozart - Violin
Track name: Concerto #3
Track name: K216 -a- Allegro
Track name: Midi by:
Track name: B.Fisher
...
Comment by Börje Holmberg (linfan) - Friday, 06 July 2012, 15:39 GMT
1) The output is:

timidity http://www.midiworld.com/midis/other/mozart/mozk216a.mid
Requested buffer size 32768, fragment size 8192
ALSA pcm 'default' set buffer size 32768, period size 8192 bytes
Playing http://www.midiworld.com/midis/other/mozart/mozk216a.mid
MIDI file: http://www.midiworld.com/midis/other/mozart/mozk216a.mid
http://www.midiworld.com/midis/other/mozart/mozk216a.mid: No such file or directory
____

2) I cannot play it that way, but just clicking the link, plays it fine in firefox. I get the Play, Pause, Stop plugin icon in firefox.

3) I have BGM Conductor 2.1.1 and check Compatibility 1.3 in my firefox extensions Tab.
I also have mozplugger in my Plugins list in Firefox from arch.

4) mozpluggerrc looks like this:

# Configure file for MozPlugger 1.7
# Version: January 17, 2007
#
# Commands which are not installed on your system will not be used.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.


###################
### m4 macros ###
###################

changequote([,])

### Helpers

#define(ENABLE_HELPERS)

ifdef([ENABLE_HELPERS],[
define(HELPER,[nokill noisy: $1])
],[
define(HELPER,[])
])

### MPlayer

define(MP_CMD,[mplayer -really-quiet -nojoystick -nofs -zoom -vo xv,x11 -ao esd,a
lsa,oss,arts,null -osdlevel 0 $1 </dev/null])

define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(-xy $width -wid $window $1)])

define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(MPlayer): MP_CMD
($1)])

define(MP_VIDEO_STREAM,[stream MP_EMBED($1 "$file")
stream MP_NOEMBED($1 "$file")])

define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mplayer -really-quie
t -nojoystick "$file" </dev/null])

ifelse(esyscmd([mplayer -afm help 2>&1 | grep vorbis]),[],[
define(MP_NO_VORBIS)
],[
define(MP_VORBIS)
])

### Totem

define(TM_CMD,[totem $1</dev/null])

define(TM_EMBED,[embed noisy ignore_errors hidden fill swallow(Totem): TM_CMD(--toggle-controls $1)])

define(TM_NOEMBED,[nokill noembed noisy ignore_errors: TM_CMD($1)])

define(TM_VIDEO_STREAM,[stream TM_EMBED("$file")
stream TM_NOEMBED("$file")])

define(TM_AUDIO_STREAM,[controls stream noisy ignore_errors: TM_CMD("$file")])

### OpenOffice
define([OO],[swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 "$file"
swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 "$file"
swallow(VCLSalFrame) fill: soffice -nologo $1 "$file"])


### Acrobat Reader
define(ACROREAD_OPTS,[-geometry +9000+9000 -tempFileTitle acroread])
define(ACROREAD_FLAGS,[repeat swallow(acroread) fill])
ifelse(esyscmd([acroread -helpall | grep openInNewWindow]),[],[
define(ACROREAD,[ACROREAD_FLAGS(): acroread ACROREAD_OPTS() +useFrontEndProgram "$file"])
],[
define(ACROREAD,[ACROREAD_FLAGS(): acroread ACROREAD_OPTS() -openInNewWindow "$file"])
])

### GV
define(GV_OPTS,[--safer --quiet --antialias -geometry +9000+9000])
define(GV_FLAGS,[repeat noisy swallow(gv) fill])
define(GV,[GV_FLAGS(): gv GV_OPTS() "$file"])

###################
### Video ###
###################

#video/mpeg:mpeg,mpg,mpe:MPEG animation
#video/x-mpeg:mpeg,mpg,mpe:MPEG animation
#video/x-mpeg2:mpv2,mp2ve:MPEG2 animation
# MP_VIDEO_STREAM()
# TM_VIDEO_STREAM()
# HELPER(xine -pq "$file")
# loop: mtvp -l -W$window "$file"
# : mtvp -W$window "$file"
# loop: xanim +Av100 -Zr +W$window +q +f "$file"
# : xanim +Av100 -Zr +W$window +q +Ze +f "$file"
#
#video/mp4:mp4:MPEG4 animation
# MP_VIDEO_STREAM()
# TM_VIDEO_STREAM()
# HELPER(xine -pq "$file")

#
#video/msvideo:avi:AVI animation
#video/x-msvideo:avi:AVI animation
#video/fli:fli,flc:FLI animation
#video/x-fli:fli,flc:FLI animation
# MP_VIDEO_STREAM()
# TM_VIDEO_STREAM()
# HELPER(xine -pq "$file")
#
#application/x-mplayer2:wmv,asf,mov:Windows Media
#video/x-ms-asf:asf,asx,wma,wax,wmv,wvx:Windows Media
#video/x-ms-wmv:wmv:Windows Media
# MP_VIDEO_STREAM()
# TM_VIDEO_STREAM()
#
#application/x-quicktimeplayer:mov:Quicktime animation
#image/x-macpaint:pntg,mov:Quicktime animation
#video/quicktime:mov,qt:Quicktime animation
#video/x-quicktime:mov,qt:Quicktime animation
# MP_VIDEO_STREAM()
# TM_VIDEO_STREAM()
# HELPER(xine -pq "$file")
#
#video/x-theora:ogg:OGG stream with video
#video/theora:ogg:OGG stream with video
#video/ogg:ogg:OGG stream with video
#video/x-ogg:ogm,ogv:OGG stream with video
#ifdef([MP_VORBIS],[ MP_VIDEO_STREAM()
#]) TM_VIDEO_STREAM()
#
#video/dl:dl:DL animation
#video/x-dl:dl:DL animation
#video/sgi-movie:movie,movi,mv:SGI animation
#video/x-sgi-movie:movie,movi,mv:SGI animation
#video/anim:iff,anim5,anim3,anim7:IFF animation
#video/x-anim:iff,anim5,anim3,anim7:IFF animation
# loop: xanim +Av100 -Zr +W$window +q +f "$file"
# : xanim +Av100 -Zr +W$window +q +Ze +f "$file"
#
#
##################
### Audio ###
##################

audio/mid:midi,mid:MIDI audio file
audio/x-mid:midi,mid:MIDI audio file
audio/midi:midi,mid:MIDI audio file
audio/x-midi:midi,mid:MIDI audio file
controls: timidity -s 48000 -a -idqqqqqqq "$file" >/dev/null 2>/dev/null
controls: playmidi "$file"

#audio/mod:mod:Soundracker audio Module
#audio/x-mod:mod:Soundracker audio Module
# controls loop noisy: mikmod -q --interpolate "$file"
# controls noisy: mikmod -q --interpolate "$file"
# controls loop noisy: xmp -l --nocmd "$file"
# controls noisy: xmp --nocmd "$file"
#
#audio/mp3:mp3:MPEG audio
#audio/x-mp3:mp3:MPEG audio
#audio/mpeg2:mp2:MPEG audio
#audio/x-mpeg2:mp2:MPEG audio
#audio/mpeg3:mp3:MPEG audio
#audio/x-mpeg3:mp3:MPEG audio
#audio/mpeg:mpa,abs,mpega:MPEG audio
#audio/x-mpeg:mpa,abs,mpega:MPEG audio
# MP_AUDIO_STREAM()
# TM_AUDIO_STREAM()
# controls: mpg321 -q "$file"
# controls: mpg123 -q "$file"
# controls: splay -t 200 "$file"
# controls: amp -b 200 -q "$file"
# controls: maplay "$file"
# controls: mpeg3play "$file"
# HELPER(xmms -e -p "$file")
# repeat noisy swallow(alsaplayer): alsaplayer -q "$file"
#
#audio/mpeg-url:m3u:MPEG music resource locator
#audio/x-mpeg-url:m3u:MPEG music resource locator
#audio/mpegurl:m3u:MPEG music resource locator
#audio/x-mpegurl:m3u:MPEG music resource locator
#audio/mpeg-url:m3u:MPEG music resource locator
#audio/x-mpeg-url:m3u:MPEG music resource locator
#audio/x-scpls:pls:Shoutcast Playlists
# controls: mpg321 -q -@ "$file"
# HELPER(xmms -e -p "$file")

#
#audio/x-ogg:ogg:OGG audio
#application/x-ogg:ogg:OGG audio
#application/ogg:ogg:OGG audio
#ifdef([MP_VORBIS],[ MP_AUDIO_STREAM()
#]) TM_AUDIO_STREAM()
# controls stream noisy: ogg123 -q -b 128 "$file"
# HELPER(xmms -e -p "$file")
#
#audio/x-flac:flac:FLAC audio
#application/x-flac:flac:FLAC audio
# MP_AUDIO_STREAM()
# HELPER(xmms -e -p "$file")
#
#audio/x-sidtune:sid,psid:Commodore 64 Audio
#audio/sidtune:sid,psid:Commodore 64 Audio
#audio/psid:psid,sid:Commodore 64 Audio
#audio/x-psid:psid,sid:Commodore 64 Audio
# controls noisy: sidplay -16 -f44100 -a "$file"
#
#audio/basic:au,snd:Basic audio file
#audio/x-basic:au,snd:Basic audio file
# controls: play "$file"
# controls: sox "$file" -t .au - > /dev/audio
#
#audio/wav:wav:Microsoft wave file
#audio/x-wav:wav:Microsoft wave file
#audio/x-pn-wav:wav:Microsoft wave file
#audio/x-pn-windows-acm:wav:Microsoft wave file
# controls: play "$file"
# controls: wavplay -q "$file"
# controls noisy: bplay "$file"
# controls: splay "$file"
# HELPER(xmms -e -p "$file")
# repeat noisy swallow(alsaplayer): alsaplayer -q "$file"
#
#audio/x-pn-realaudio-plugin:rpm:RealPlayer Plugin Metafile
#audio/x-pn-realaudio:ra,rm,ram:Realaudio-plugin resource locator
#audio/x-realaudio:ra,rm,ram:RealAudio file
#application/vnd.rn-realmedia:rm:RealMedia file
#application/smil:smi:RealPlayer
#audio/vnd.rn-realaudio:ra,ram:RealAudio file
#audio/vnd.rn-realvideo:rv:RealVideo file
# nokill stream: hxplay "$file"
# nokill stream: realplay "$file"
#

#audio/x-ms-wax:wax,wma:Windows Media
# MP_AUDIO_STREAM()
# TM_AUDIO_STREAM()
#
#######################
### Documents ###
#######################

#image/sun-raster:rs:SUN raster image
#image/x-sun-raster:rs:SUN raster image
#image/x-rgb:rgb:RGB Image
#image/x-portable-pixmap:ppm:PPM Image
#image/x-portable-graymap:pgm:PGM Image
#image/x-portable-bitmap:pbm:PBM Image
#image/x-portable-anymap:pnm:PBM Image
#image/tiff:tiff,tif:TIFF image
#image/x-tiff:tiff,tif:TIFF image
# exits: display -window $window -backdrop "$file"
# repeat noisy swallow(gqview) fill: gqview -t "$file"
# swallow(:) maxaspect: xv -ima -igeom +9000+9000 -geometry +9000+9000 "$fi
le"
# repeat swallow(display): display "$file"
# repeat swallow(Sdtimage) fill: sdtimage "$file"
# swallow(*qiv:) fill maxaspect: qiv -n "$file"
#
#image/x-xcf:xcf:Gimp Image
#image/xcf:xcf:Gimp Image
#application/x-gimp:xcf:Gimp Image
#application/gimp:xcf:Gimp Image
# exits: display -window $window -backdrop "$file"
# repeat swallow(display) fill: display "$file"
#
#application/photoshop:psd:PhotoShop Image
#application/x-photoshop:psd:PhotoShop Image
# exits: display -window $window -backdrop "$file"
# repeat swallow(display) fill: display "$file"
#
#application/pdf:pdf:PDF file
#application/x-pdf:pdf:PDF file
#text/pdf:pdf:PDF file
#text/x-pdf:pdf:PDF file
# repeat swallow(acroread) fill: acroread7 -openInNewWindow "$file"
# repeat swallow(documentShell) fill: acroread5 -geometry +9000+9000 +useFr
ontEndProgram "$file"
# repeat noisy swallow(evince) fill: evince "$file"
# repeat noisy swallow(kpdf) fill: kpdf "$file"
# repeat noisy swallow(Xpdf) fill: xpdf -g +9000+9000 "$file"
# GV()

#
#application/x-dvi:dvi:DVI file
# repeat swallow(kdvi) fill: kdvi "$file"
# repeat swallow(xdvi) fill: xdvi -safer -hush -geometry +9000+9000 "$file"
#
#application/x-postscript:ps:PostScript file
#application/postscript:ps:PostScript file
# GV()
# repeat noisy swallow(evince) fill: evince "$file"
#
#application/x-rtf:rtf:Rich Text Format
#application/rtf:rtf:Rich Text Format
#text/rtf:rtf:Rich Text Format
# OO()
# repeat noisy swallow(AbiWord) fill: abiword --nosplash --geometry +9000+9
000 "$file"
# repeat noisy swallow(kword): kword "$file"
# repeat noisy swallow(Ted) fill: Ted "$file"
#
#application/x-msword:doc,dot:Microsoft Word Document
#application/msword:doc,dot:Microsoft Word Document
# OO()
# repeat noisy swallow(kword): kword "$file"
# repeat noisy swallow(AbiWord) fill: abiword --nosplash --geometry +9000+9
000 "$file"
#
#application/vnd.ms-excel:xls,xlb:Microsoft Excel Document
# OO()
# repeat swallow(Gnumeric) fill: gnumeric "$file"
#
# OpenOffice MimeTypes (http://framework.openoffice.org/documentation/mimetypes/m
imetypes.html)
#application/vnd.sun.xml.writer:sxw:OpenOffice Writer 6.0 documents
#application/so7_vnd.sun.xml.writer:sxw:OpenOffice Writer 7.0 documents
#application/vnd.sun.xml.writer.template:stw:OpenOffice Writer 6.0 templates
#application/vnd.sun.xml.writer.global:sxg:OpenOffice Writer 6.0 global documents
#application/vnd.stardivision.writer:sdw:StarWriter 5.x documents
#application/vnd.stardivision.writer-global:sgl:StarWriter 5.x global documents
#application/x-starwriter:sdw:StarWriter 4.x documents

# OO()
#
#application/vnd.sun.xml.calc:sxc:OpenOffice Calc 6.0 spreadsheets
#application/so7_vnd.sun.xml.calc:sxc:OpenOffice Calc 7.0 spreadsheets
#application/vnd.sun.xml.calc.template:stc:OpenOffice Calc 6.0 templates
#application/vnd.stardivision.calc:sdc:StarCalc 5.x spreadsheets
#application/x-starcalc:sdc:StarCalc 4.x spreadsheets
#application/vnd.lotus-1-2-3: 123, wk1: Lotus 1-2-3 Document
# OO()
#
#application/vnd.sun.xml.draw:sxd:OpenOffice Draw 6.0 documents
#application/so7_vnd.sun.xml.draw:sxc:StarOffice Draw 7.0 documents
#application/vnd.sun.xml.draw.template:std:OpenOffice Draw 6.0 templates
#application/vnd.stardivision.draw:sda:StarDraw 5.x documents
#application/x-stardraw:sda:StarDraw 4.x documents
# OO()
##########
#application/vnd.sun.xml.impress:sxi:OpenOffice Impress 6.0 presentations
#application/so7_vnd.sun.xml.impress:sxi:StarOffice 7.0 Impress presentations
#application/vnd.sun.xml.impress.template:sti:OpenOffice Impress 6.0 templates
#application/vnd.stardivision.impress:sdd:StarImpress 5.x presentations
#application/vnd.stardivision.impress-packed:sdp:StarImpress Packed 5.x files
#application/x-starimpress:sdd:StarImpress 4.x presentations
#application/vnd.ms-powerpoint:ppt:PowerPoint Slideshow
#application/mspowerpoint:ppt,ppz,pps,pot:PowerPoint Slideshow
# OO()
#
#application/vnd.sun.xml.math:sxm:OpenOffice Math 6.0 documents
#application/so7_vnd.sun.xml.math:sxm:StarOffice 7.0 Math documents
#application/vnd.stardivision.math:smf:StarMath 5.x documents
#application/x-starmath:smf:StarMath 4.x documents
# OO()
#
#application/vnd.oasis.opendocument.text:odt,ODT:OASIS OpenDocument Text
# OO()
#
#application/vnd.oasis.opendocument.spreadsheet:ods,ODS:OASIS OpenDocument SpreadSheet
# OO()
#
#application/vnd.oasis.opendocument.presentation:odp,ODP:OASIS OpenDocument Presentation
# OO()
#
#chemical/x-pdb:pdb: Protein Data Bank file
#model/x-pdb:pdb: Protein Data Bank file
# swallow(rasmol) fill: rasmol "$file"
# swallow(molecule) fill: /usr/X11R6/lib/xscreensaver/molecule -delay 20000 -geometry +9000+9000 -no-spin -molecule "$file"
#
#

Comment by Ondřej G. (nemamradfazole) - Friday, 06 July 2012, 16:10 GMT
That's interesting it works for you, maybe BGM Conductor downloads it before passing to TiMidity. I also saw a workaround using wget in mozpluggerrc. But the main topic of this bug is that according to manpage ("http://address ftp://address Play the file specified in the URL.") TiMidity should be able to play online MIDI files without any help.
Comment by Eric Belanger (Snowman) - Saturday, 07 July 2012, 06:47 GMT
Network support wasn't built in. It's now enabled in timidity++-2.14.0-1

Loading...