> Is the ringbuf effect plugin different to this, and which ringbuf > does > ringbuf.buffersize apply to?
ringbuf.buffersize is the parameter for the ringbuf xform effect output.buffersize is the parameter for the internal buffer > > Am I right in thinking if I enable the ringbuf xform and set a (for > example) 10MB buffer, one entire song could be buffered in memory? > My > songs have small gaps in them occasionally because I have them on a > "green" hard disk and it takes too long to unpark the heads > sometimes, > so I'm guessing this would fix that problem? I guess not. What the ringbuffer effect do is pre-fetch in a separate thread the data of the current song in a separate buffer so that filling the output ringbuffer (synchronously) don't causes gaps during the playback of a single song. The chain for the next song, however, is built the moment no data is available for the current xform chain (i.e. the ringbuf xform has no data left in its own buffer). For that reason, the 'read-ahead' of the next song is almost inexistent and depends totally on the value of output.buffersize. You may try to increase it to subtancial values. For instance, if the output format is 48kHz 16bits stereo, to start chain setup of the next song ~1 second ahead, you will need to set output.buffersize to 192000. I agree, the current design is poor and not fit for gapless playback, especially with high latency devices. Some deep rework is necessary. Someone actually made an attempt a few years ago but no mergeable clean patch was ever submitted. regards, Raphaël -- _______________________________________________ Xmms2-devel mailing list Xmms2-devel@lists.xmms2.org http://lists.xmms2.org/cgi-bin/mailman/listinfo/xmms2-devel