As use cases go, I agree, nobody should be tagging tracks with exteral programs 
while performing. On the other hand, changing the tag on mixxx screen when you 
load the track is quite plausible, like in  "Oh the artist tag is wrong I'll 
fix it straight away!" use case. Some people also might use itunes to look up 
songs while playing with mixxx, it's search has it's own good points or someone 
might be more familiar with it. iTunes does not modify tags itself unless you 
change something, so even this is not a problem as such.

I would even file a bug for easytag to fix the tag writing to use a temporary 
file which is moved to correct name after updating tags, if they don't already 
do this. I think they already do this anyway.

Myself, I run with the music library owned by root to prevent anyone from 
messing up the files and only chown them to myself when updating information 
intentionally, enough issues with commercial programs helpfully writing new 
tags or even corrupting the file to unreadable when I didn't ask them to change 
it. When you have finished preparing your library, I can recommend making 
editing it accidentally hard like this.

About in-memory caching:

I don't think the code to switch from mmap to in-memory caching would be too 
hard to write, with configurable buffer size. It might be worth making a branch 
with this to compare these two usage scenarios just to make sure. I think it 
should use a fized size buffer for each deck, instead of trying to allocate 
anything on the fly. 

Only problem I see with fized size in-memory buffers would be low-end systems 
with limited memory, unless you calculate the buffer size and allocate a buffer 
on-the-fly for each track: I would prefer here pre-allocated deck buffers if 
this is done, but this may not work nicely if the laptop doesn't have the 
memory available. Then again, 2 decks configured to play with 128MB buffers 
each can be used to play about 11 minute long songs straight from buffer and if 
the buffer size is configured in settings, it could be adjusted to the expected 
maximum song length. The buffer size would normally matter only to people who 
want to play a prepared full album mix, which of course happens.

As I said, I would prefer in-memory buffering over mmap, but then again I'm 
always running on modern laptops with enough memory to give mixxx 2-3GB without 
issues, and completely understand other use cases where this is not possible or 
wanted.

        *hile*

On 2 Apr 2012, at 06:05, Owen Williams wrote:

> On Sun, 2012-04-01 at 22:29 -0400, Albert Santoni wrote:
> 
>> This sounds pretty tricky. Would it simplify our lives if we dropped
>> mmapped I/O? (sorry Owen!)
> 
> mmapped I/O was integral to preventing audio dropouts.  Making that
> change resulted in the best improvement in sound performance.  If we do
> have to drop mmapping, the replacement has to be an in-memory caching of
> tracks.
> 
> That said, I still think it's incredibly unrealistic for users to be
> playing a track in Mixxx and also writing the tag of that track from
> another program.  Can anyone imagine a scenario where, realistically,
> mixxx would be playing a track and something else would be writing that
> track?
> 
> In-app, I think the best solution is delaying writes until shutdown /
> startup like RJ suggests.  For users silly enough to use easytag or
> itunes while mixxx is running, they'll quickly learn not to do that :).
> 
> owen
> 
> 
> ------------------------------------------------------------------------------
> This SF email is sponsosred by:
> Try Windows Azure free for 90 days Click Here 
> http://p.sf.net/sfu/sfd2d-msazure
> _______________________________________________
> Get Mixxx, the #1 Free MP3 DJ Mixing software Today
> http://mixxx.org
> 
> 
> Mixxx-devel mailing list
> Mixxx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mixxx-devel


------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to