Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - emilles

Pages: 1 2
16
Everything is working great with this latest patch.  Seek, Seek while paused, New Track, and End of Playback all working smoothly.  Thanks again.

17
Thanks Steven.  I'll have a look right now.  From your description of the seek, am I correct in understanding that when the user begins seeking (grabs the slider in MB UI) that is when Pause(1), Flush(0) is called, then when user releases in new position the Pause(1) comes?  I'll see if I can confirm this behavior.  I believe there would be no harm to any output plug-ins if it was Pause(1), Flush(0), Flush(offset millis), Pause(0) as you describe.

18
Steven, thanks for the quick response.  This fixes two issues for sure. End of playback is working nicely thanks to the IsPlaying calls.  Track change is much improved.  One issue there is that when I call back to MM for track metadata in the Open call, I cam getting info for the previous track.

Regarding the second point, you are correct, Flush is the callback name in the Winamp API.  What I am seeing for a seek is: Pause(1), Flush(0), Pause(0).  Since zero is passed in the flush, I need to do a lot of extra work to get the new track offset millis.  A change here is not strictly necessary since I did figure out how to get the new offset by setting a flag and checking it in the Pause callback -- asking MM for the playing offset in Flush gives the old offset so the query needs to be delayed.  It would be more efficient (and correct?) to get the new offset passed in the Flush call.

19
Thanks Steven.  A couple other minor transparency issues between Winamp and MusicBee for output plug-ins:

Pausing: MB calls setPaused(1) then reset(0), Winamp only calls setPaused(1)
Seeking while playing: MB calls reset(0), Winamp calls reset(new track pos in ms)
Seeking while paused: MB makes no calls, Winamp has same behavior as seeking while playing


Let me know if you'd like any additional details or help with Wianmp output plug-ins.  Also, I'd be happy to test anything.

20
When using a Winamp-style output plug-in, is there a way to be notified (or detect) a track change?  Typically, Winamp does this by calling close() at the end of each track and open() at the start of the next.  However, MB is opening only once at the start of playback.

Also, at the end of a playlist, Winamp check isPlaying() before calling close() to prevent clipping the end of the track.  MB is not doing this either.  I could go off of the close(0 call, ut falling off the end of the playlist is indistinguishable from the user pressing the stop button, which should immediately stop the audio.

21
Plugins / Re: AirPlay plugin
« on: May 19, 2013, 09:40:06 PM »
@sssweat -- Sorry to hear there is a problem.  I have been testing with 2.0.  I'll have a look at the v2.1 builds and see if I can recreate the startup issue.

@veryaner -- I haven't been able to try XBMC myself. I have received mixed reports since release on how well it and the plug-in work together.  One user mentioned needing to install a different firewall package to get the auto-discovery working properly.  Or that could've been on Raspberry Pi.  I'll do some searching in my Gmail history.  Usually with a receiver like XBMC, the devs test against iTunes and once it works, consider it done.  AirPlay interoperability is tough for an audio sender.

22
Plugins / AirPlay plugin
« on: February 13, 2013, 03:57:55 PM »
Improved support for MusicBee in latest release (v4.5).

http://emilles.dyndns.org/software/out_apx.html

* Supports a wide range of AirPlay devices and programs
* Streams audio to multiple supported devices over wired or wireless network(s)
* Synchronizes audio streams between multiple devices
* Displays track metadata (title, artist, album, artwork, progress) on devices that support it
* Supports full set of playback operations (play, pause, stop, seek, skip, etc.)
* Plays multiple tracks with no gap between tracks
* Supports remote control
* Supports password-protected remote speakers
* Supports multi-homed (more than one network interface) workstations
* Discovers remote speakers automatically using zero-configuration network protocols
* Supports static configuration of remote speakers for hard-to-locate devices
* Supports international characters for device names
* Supports mono and stereo input
* Supports standard sample rates (samples per second) on input
* Supports standard sample sizes (bits per sample) on input

Pages: 1 2