Re: [Musicpd-dev-team] Support for parsing/tagging flac files according to embedded cuesheets

2009-03-24 Thread Max Kellermann
On 2009/03/24 10:10, Max Kellermann m...@duempel.org wrote:
 Do you want a git repository for that?
 
 Is there a public svn repository, which we could import to get the
 full code history into git?

Found it, and cloned:

 http://git.musicpd.org/cgit/mirror/cuetools.git/

Maybe we should ask if Svend has abandoned the project, in this case
you could take over the whole project, and just change the build
scripts to generate an additional shared library with a well-defined
and stable API.

Max

--
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
___
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team


Re: [Musicpd-dev-team] Support for parsing/tagging flac files according to embedded cuesheets

2009-03-23 Thread Jochen Keil
Hi Max,

Max Kellermann wrote:
 It's important to document what was written by the original author and
 what was modified by you.  Media players are a dangerous area
 (regarding copyright and patents), and we need to have a reliable
 audit trail of everything, just in case.

I understand that and agree with you on that issue.
So what i've done is this:

I've built a shared library based on cuetools. I want to re-release this
stuff as libcue on sourceforge or whereever so we only need to install
and link mpd against it.
I already contacted Svend about this. If he is willing to let me
relicence it as BSD software, i'll do so. Otherwise i'd have to go
with GPL but that wouldn't hurt either i think.

Now i'm reading about automake/autoconf so i have a build system for the
initial/first/alpha release.. :)

Enjoy your holidays.

Regards,

Jochen



signature.asc
Description: OpenPGP digital signature
--
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com___
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team


Re: [Musicpd-dev-team] Support for parsing/tagging flac files according to embedded cuesheets

2009-03-22 Thread Max Kellermann
On 2009/03/20 18:19, Jochen Keil jochen.k...@gmail.com wrote:
  The clean way to do it would be to create one commit which adds the
  original sources, and another commit edits them and adds them to the
  build system (Makefile.am).
 That'll be some work..

It's important to document what was written by the original author and
what was modified by you.  Media players are a dangerous area
(regarding copyright and patents), and we need to have a reliable
audit trail of everything, just in case.

  What's this for?
 It's for the one who is interested to build the lexer/parser himself.
 You don't need it though, so leave it out if you want to. I have to
 admit that i don't know enough about automake/autoconf to add a build
 lexer/parser command or so..

If you don't manage to write it, I can help you with that (when I
return from vacation).

  Who's the author?  Why does it include cd.h?  Why do we need cd.h
  at all?  Looks like it's dealing with information for compact discs,
  but MPD doesn't handle CDs.
 The author of the original cuetools package is Svend Sorensen.
 cd.h contains the methods for accessing the struct which holds the
 information from the parsed cuesheet. Svend called that struct Cd, thus
 cd.h/.c. I have no problem with that but if you'd like a different name
 for it i can change that.. as i said i wanted to rework the api anyway.

I don't care much about the name, I was just questioning if you added
it for a good reason.

  Don't create a separate commit for each and every source file you
  import.  cd.h is nothing without cd.c.
 Should i add them all at once or cd.h + cd.c, cue.h + cue.c, etc.?

If you need all of them at once, import all of them (the original
sources) in one commit (without Makefile.am), with correct author
information.  Then do another commit (the integration commit), which
modifies them (fix warnings?  do whatever is required to get them
compiled cleanly with --enable-werror), and adds them to the
Makefile.am.  You're the author of this commit.  If you need to do API
changes, you can do it in the following commits.

  Each commit which adds a new source must add it to Makefile.am.  Each
  commit must not fail during build.  make distcheck should always
  work, too.
 So it should be like this:
 new file (e.g. cd.c) + add to Makefile.am = one commit?

In short, yes.  See above for more detailed explanation.

 For commiting will it suffice to set user.name and user.email to Svend's
 contact information?

 git commit --author=Foo Bar f...@bar.org

With stgit, you can easily change that information at any time with
stg edit.

 Should i also add the files from cuetools i removed (and remove them
 again from git)?

No.  Import only the sources you need for your work.  If you need more
at a later time, you can make another import commit.

Max

--
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
___
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team


Re: [Musicpd-dev-team] Support for parsing/tagging flac files according to embedded cuesheets

2009-03-20 Thread Max Kellermann
On 2009/03/18 18:36, Jochen Keil jochen.k...@gmail.com wrote:
 please let me know about anything i should change or i could do better.
 I've taken the parser from cuetools (you can find the outdated project
 files on berlios) and modified the interface a bit.

I don't see what you modified.  Did you add the original (unmodified)
sources, or did you only add the versions which were already modified
by you?

The clean way to do it would be to create one commit which adds the
original sources, and another commit edits them and adds them to the
build system (Makefile.am).

 I think it needs to be cleaned up a bit more but for i'm fine with.
 It's not leaking memory anymore (at least i hope so) and i've added the
 possibilty to delete an allocated cd structure.
 
 Hope you like it,

I don't like it (yet)...  see my comments below.

 67e65a7..0ce399a:
 
 commit 0ce399a344093caa24328971b51f74039597e749
 Author: Jochen Keil jochen.k...@gmail.com
 
 Makefile for the lexer/parser

BSD style only for the moment.
It is easy to understand though if you want to compile
the test program or generate the lexer/parser.

What's this for?

 commit 755f16d9d0f09e11cea836e83d8ea47b002133f6
 Author: Jochen Keil jochen.k...@gmail.com
 
 Quick and dirty test program for the cuesheet parser

Will not be compiled by mpd make

Why not?  Why not make it a test program in ./test/?  This should live
in test/, not in src/cue_parser/.  If you don't compile it, don't add
it to the source tree.

 commit eebbd9a8043f301c312e3e6f63654c12314b4a70
 Author: Jochen Keil jochen.k...@gmail.com
 
 The implementation details for cue.h

Who's the author?  Why does it include cd.h?  Why do we need cd.h
at all?  Looks like it's dealing with information for compact discs,
but MPD doesn't handle CDs.

 commit 6fd0fa62fac30a90f5031940a8948731abe66c5d
 Author: Jochen Keil jochen.k...@gmail.com
 
 Interface for tagging a song from a cuesheet
 
 commit ae70da3fbcbb0956e2a9c1b64aff5be0369c54a9
 Author: Jochen Keil jochen.k...@gmail.com
 
 Implementation details for time.h
 
 commit 507560abf378e84b450cab93c7f4ed9fe65882c7
 Author: Jochen Keil jochen.k...@gmail.com
 
 Methods for handling index times in cuesheet indices
 
 commit d05b0e8f44e7264d6e6021a7f6e56dec213c7414
 Author: Jochen Keil jochen.k...@gmail.com
 
 Implemenation for cdtext.h
 
 commit bc2cce8ed891db6b68ece6ef158251024617a781
 Author: Jochen Keil jochen.k...@gmail.com
 
 The CDText API and data struct
 
 commit 92dffa294d76ecccf273e66fccb40061d5bee2d7
 Author: Jochen Keil jochen.k...@gmail.com
 
 The implementation of the methods in cd.h

Don't create a separate commit for each and every source file you
import.  cd.h is nothing without cd.c.

 commit 41b7bcd0b4d8b5180fdf2fe70bb05a0d86adcac1
 Author: Jochen Keil jochen.k...@gmail.com
 
 The struct and the API for the cuesheet parser.
 
 commit 45403bcd4bbc2d86fca9951e855c673df8d8a44a
 Author: Jochen Keil jochen.k...@gmail.com
 
 The Parser (grammar) H source file
 
 commit 0240445a630e6a1a520c2e0a13dc1f1081749c52
 Author: Jochen Keil jochen.k...@gmail.com
 
 The Parser (grammar) C source file
 
 commit 411bd222dfb1643237f4458753055c663959054d
 Author: Jochen Keil jochen.k...@gmail.com
 
 The Lexer (Tokenizer) C source file

See below for my comment on generated sources.

 commit 74a52f5c2336ddde6623dc38752f7ca1523f937a
 Author: Jochen Keil jochen.k...@gmail.com
 
 The Parser (grammar) source file
 
 commit 10f6fec9a7d816aac0a9f98ae2f4cac9751f0baf
 Author: Jochen Keil jochen.k...@gmail.com
 
 The Lexer (Tokenizer) source file

You're not the author of those files, yet the git commit reflects your
name.  I believe this is important.

Anyway, what's the license of that source code?

 commit d7d5ab14f3938b836d69d1124659e2fbb5ffeaf5
 Author: Jochen Keil jochen.k...@gmail.com
 
 Support for tagging flac files according to their embedded cuesheet
 
 commit 58ec6181c807b53de6d5a0e07e550a48c503c2fd
 Author: Jochen Keil jochen.k...@gmail.com
 
 Added sources for the cuesheet parser

This patch adds sources to Makefile.am which don't exist yet.  This
breaks the build on this patch - every commit should be buildable, or
bisect won't work properly.

Each commit which adds a new source must add it to Makefile.am.  Each
commit must not fail during build.  make distcheck should always
work, too.

Generating the lexer/parser using lex/yacc or flex/bison
isn't necessary every time for compiling.
That way we don't have to depend on those programs.

I disagree.  *Always* generate those sources.  CUE support should be
optional, so if lex/yacc are not available, don't build CUE support.
We should never have generated files in git.  Having yet another
dependency isn't comfortable for users, but with this excuse, we could
integrate everything into MPD.  MPD used to have libmad built-in.

--
Apps