On Mon, 15 January, 2007 7:59 pm, Michael Beal wrote: > Hey everyone! It's been a while since I've done anything with Freevo > but, now that I have a PC that works right and a stable development > station, I'm gearing up to jump back in! Well, sort of.... Read on. > > First, my quibbles and questions... Freevo has a lot of great > development going on and a lot of cool features are yet to be added. I > really look forward to v2.0! However, after looking over some of the > code in 1.6.2, there seems to be some overt complicating of the > internals. For example, in ivtv_xine_tv.py there's a reference call to > the mixer plugin and direct manipulation of the audio from within when it > isn't necessary. In mixer.py, I have to question why we're accessing > hardware directly rather than using a higher level tool? The OS, it's > hardware drivers and their associated tools are available to handle this > type of thing. All claims of "Why add another dependency?" aside, why > not use the tools built into the OS? > > I don't know how DVD's sound in other countries when played in Freevo > with 6-channel audio enabled in Mplayer or Xine, but in the U.S. they > sound awful. The center channel, where ALL the dialog is recorded, is > weak. The Front, Surround and Bass(LFE) channels are unbalanced and > frequently over power the dialog or start the windows rattling. (Good > examples of this are "Underworld" and "Queen of the Damned." The bass > channel will deafen you while you strain to hear a single spoken word. > In "Queen of...", the narrative is plain and clear from the front > channels while the dialog is almost missing.) > > For this reason, I have spawned and have been improving a new mixer which > I have named sixmixer.py and a new volume control for use with > sixmixer.py which reflects the volume settings for the Front, Surround, > Center and Bass(LFE) channels. When I am sure these do not break Freevo > in any way (at least not on my system), I'll post them here. I've also > done some removal of code to eliminate conflicts with sixmixer.py. > Sixmixer.py uses the "amixer" control to handle volume settings. I chose > this because the ALSA sound system is by far the most common among Linux > distros. I know OSS is out there and in good use but OSS, if I remember > correctly, contains ALSA wrappers for programs that are designed to use > ALSA by default. I'll be adding OSS and ARTS support in the near future. > I don't know enough about the JACK audio system to make the necessary > additions to sixmixer.py so support isn't planned. In order to make > sixmixer.py work from the remote, I had to add events and new remote > button mappings to events.py which may have broken something as I keep > getting a crash when I try to rename a favorite. (Something about > subsurface out of range or something like that when I use any of the > remote's number buttons or keyboard...) I also took the liberty of > adding the special "MENU" button mappings to events.py. > > I haven't seen where a configuration tool has been built for Freevo. > This is what I intend to work on for a while. Initially, this tool will > be built from 1.6.2 and will begin with a better tool for adjusting > sixmixer.py. As I stated above, I think I broke something when I > remapped some of the remote keys. The best way to keep the remote events > in a pristine state is to write a separate control to adjust and track > the sixmixer.py settings. In so doing, 6-channel audio can become the > _default_ for Freevo which should make a number of people VERY happy. > Afterward, I'll work on code which will detect the absence of > local_conf.py and then try to detect as much hardware as possible, > building a basic local_conf.py as it goes. (Due to it's extreme > simplicity, the "Rain" skin will be used for defining the menus for the > forthcoming "Settings" plugin.) > > We'll see where these projects go from there. If it seems a fork in the > Freevo project becomes necessary, I'll seek feedback on that idea before > hand.
May I suggest that any enhacements that you would like to do for the release 1 series of Freevo are done against the svn branch rel-1, see the contributing section of the freevo wiki for details on how to get it. I don't commit any changes except bug fixes to the rel-1-6 branch of freevo. There will be a release of freevo-1.7.0 in the next couple of weeks or so. Having got the protocol stuff out of the way, this is a great idea it's about time we dumped OSS and used something better to drive the audio. There is a set of ALSA bindings for Python available, they may be cleaner that spawing amixer, but I'm not sure. Cheers, Duncan ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Freevo-devel mailing list Freevo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freevo-devel