savannah-register-public
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-register-public] [task #7197] Submission of musync


From: Albin Stjerna
Subject: [Savannah-register-public] [task #7197] Submission of musync
Date: Fri, 10 Aug 2007 13:11:22 +0000
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.6) Gecko/20070801 BonEcho/2.0.0.6

URL:
  <http://savannah.nongnu.org/task/?7197>

                 Summary: Submission of musync
                 Project: Savannah Administration
            Submitted by: kaon
            Submitted on: Friday 08/10/2007 at 15:11
         Should Start On: Friday 08/10/2007 at 00:00
   Should be Finished on: Monday 08/20/2007 at 00:00
                Category: Project Approval
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                  Effort: 0.00

    _______________________________________________________

Details:

A new project has been registered at Savannah 
This project account will remain inactive until a site admin approves or
discards the registration.


= Registration Administration =

While this item will be useful to track the registration process, *approving
or discarding the registration must be done using the specific Group
Administration
<https://savannah.nongnu.org/siteadmin/groupedit.php?group_id=9445> page*,
accessible only to site administrators, effectively *logged as site
administrators* (superuser):

* Group Administration
<https://savannah.nongnu.org/siteadmin/groupedit.php?group_id=9445>


= Registration Details =

* Name: *musync*
* System Name:  *musync*
* Type: non-GNU software & documentation
* License: GNU General Public License v3 or later

----

==== Description: ====
The goal of the project is to create a simple and player-independent way to
synchronize music files in a consistent way from a local library to a mounted
digital audio player without having to worry about file names. The idea is to
read file names from stdin, process them and read their tags and create
consistent directory structures on the portable device. I am referring to this
directory structure as "the database", as I will be using the directory
structure as a very rudimentary database. 

Currently the program works by reading a set of command line arguments
(musync -S stdin <mount point>) and then by receiving a list of full paths
from stdin, typically from find. Then it uses the mutagen libraries to read
the metadata from those files and, using artist name, track number, album and
track title data, create the file/directory structure <mount
point>/artist/album/tt-artist-track_title.(mp3|flac|ogg), where tt is the
zero-padded track number. Some slight sanitation to the strings is also
performed, replacing special characters (for example '"' becomes  'inch' and
']' becomes ')') and removing all non-ascii characters to avoid problems with
the file names. 

Future follow-up projects will include some sort of graphical interface to
the music synchronization script, and possibly also a rewrite of musync 
itself in C.

The preliminary source code can be found at
http://munnen.handgranat.org/lqr/musync.py, but isn't finished by far
(although it works for everyday use).


==== Other Software Required: ====
python (I'm using 2.5, but I'm rather sure it works with 2.4 as well)
(typically installed in most free operating systems)
mutagen (not very commonly pre-installed I'd say, but it's used by quite  a
wide range of applications, such as the free audio player quod libet, and
should be in most package repositories) I am not at all sure about version
requirements of the mutagen libraries.






    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7197>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]