[mythtv-users] easiest way to go from storage groups internal player to mplayer

Mike Perkins mikep at randomtraveller.org.uk
Tue May 18 11:07:50 UTC 2010


Michael T. Dean wrote:
> On 05/17/2010 06:07 PM, Travis Tabbal wrote:
>> I really wish they would consider leaving external players available 
>> as an option for those that use them though. It seems odd to take the 
>> functionality away with the exception that SGs don't work with 
>> external players.
> 
> It seems odd?
> 
> It seems odd that we don't want to write each and every new feature that 
> involves playback once for external players and once for Internal player?
> 
> It seems odd that we don't want to write each and every new feature that 
> involves playback once for local files and once for Storage Groups?
> 
> It seems odd that we don't want to write image download code once for 
> local files and once for Storage Groups?
> 
> It seems odd that we don't want to test every new feature or bug fix or 
> enhancement that involves playback once for local files and once for 
> Storage Groups, and once for external players and once for Internal 
> player, and--potentially--once for each combination? [1]
> 
> It seems odd that even if we did want to write and test 2x the code for 
> every new feature, we don't want to have to maintain 2x the code? [2]
> 
> Just because code is written doesn't mean keeping it costs nothing.  In 
> order to improve MythTV and plugins, we need to get rid of some of the 
> dead weight/baggage that's holding back progress.  At least, that's my 
> perspective.  (And I haven't even mentioned the increased complexity of 
> configuration for users and the increased difficulty in helping users 
> troubleshoot issues and figuring out the configuration the users were 
> using when they encounter issues and ...)
> 
You don't have to write each feature twice. Any good software architect can tell 
you that. You just need to have a well-defined interface, and then treat the 
Internal player as an External player. It would be the preferred player, of 
course, but it would operate using the same rules as any external player would. 
By extension, if the internal player needs additional functions to make it work 
as required, you simply add those functions to the interface.

Isn't that they way Unix programs are supposed to work?

-- 

Mike Perkins



More information about the mythtv-users mailing list