platform/upstream/lightmediascanner.git
10 years agoGet rid of [BL]E_[24]BYTE macros
Lucas De Marchi [Thu, 15 Aug 2013 17:36:05 +0000 (14:36 -0300)]
Get rid of [BL]E_[24]BYTE macros

Use either libc functions from endian.h (when we have the value instead
of a position in buffer) or common provided functions in util.h

10 years agoplugins: Use shared function to add fallback name
Lucas De Marchi [Wed, 14 Aug 2013 23:55:59 +0000 (20:55 -0300)]
plugins: Use shared function to add fallback name

10 years agoshared: Add function to extract fallback name from path
Lucas De Marchi [Wed, 14 Aug 2013 23:06:46 +0000 (20:06 -0300)]
shared: Add function to extract fallback name from path

10 years agoplugins/wave: Add metadata fields
Lucas De Marchi [Wed, 14 Aug 2013 16:31:47 +0000 (13:31 -0300)]
plugins/wave: Add metadata fields

Parse title, artist, album and genre from INFO chunk.

10 years agoplugins/wave: Add channels, bitrate, sampling rate, container
Lucas De Marchi [Wed, 14 Aug 2013 14:40:38 +0000 (11:40 -0300)]
plugins/wave: Add channels, bitrate, sampling rate, container

10 years agoAdd util header
Lucas De Marchi [Tue, 13 Aug 2013 23:17:19 +0000 (20:17 -0300)]
Add util header

For now, endiannes conversions and getter for unaligned memory.

10 years agobuild: define extension macros in config.h
Lucas De Marchi [Tue, 13 Aug 2013 21:17:48 +0000 (18:17 -0300)]
build: define extension macros in config.h

Instead of defining _GNU_SOURCE and friends in each source file (and
potentially forgetting in some), tell the build system we use
extensions and let it define them in config.h.

10 years agobuild: Get rid of #ifdef HAVE_CONFIG_H
Lucas De Marchi [Tue, 13 Aug 2013 21:14:43 +0000 (18:14 -0300)]
build: Get rid of #ifdef HAVE_CONFIG_H

10 years agoplugins: Add empty wave plugin
Lucas De Marchi [Tue, 13 Aug 2013 20:37:03 +0000 (17:37 -0300)]
plugins: Add empty wave plugin

This is just like the audio-dummy, which will serve as a skeleton for
the implementation of the wave plugin

10 years agoplugins/rm: Use mime type to decide if it's audio
Lucas De Marchi [Tue, 13 Aug 2013 04:59:36 +0000 (01:59 -0300)]
plugins/rm: Use mime type to decide if it's audio

10 years agoplugins/rm: Parse MDPR header and its subheaders
Lucas De Marchi [Tue, 13 Aug 2013 04:50:27 +0000 (01:50 -0300)]
plugins/rm: Parse MDPR header and its subheaders

Interesting fields: sampling rate, codec, channels

10 years agoutils: Add cast to string size initializer
Lucas De Marchi [Tue, 13 Aug 2013 04:47:40 +0000 (01:47 -0300)]
utils: Add cast to string size initializer

10 years agoplugins/rm: Parse PROP header
Lucas De Marchi [Mon, 12 Aug 2013 23:32:33 +0000 (20:32 -0300)]
plugins/rm: Parse PROP header

This header contains the following interesting fields: duration and
avg_bit_rate.

10 years agoplugins/rm: Simplify loop, searching for CONT header
Lucas De Marchi [Mon, 12 Aug 2013 18:29:12 +0000 (15:29 -0300)]
plugins/rm: Simplify loop, searching for CONT header

Call _read_header_type_and_size() in only one place and make
_parse_cont_header() return the number of bytes read, so we can seek to
the right place later.

10 years agoTODO: Add entry about buffered, unbuffered, mmap for plugins
Lucas De Marchi [Mon, 12 Aug 2013 18:20:08 +0000 (15:20 -0300)]
TODO: Add entry about buffered, unbuffered, mmap for plugins

10 years agoplugins/ogg: Add support to new fields
Lucas De Marchi [Mon, 12 Aug 2013 17:10:28 +0000 (14:10 -0300)]
plugins/ogg: Add support to new fields

New fields are supported for ogg vorbis:
* container: Always the same: ogg
* codec: Although ogg may contain streams encoded by other
  codecs we never supported them. They will fail to parse when
  we try to create the vorbis structs. Therefore for now this is
  statically set to "vorbis"
* bitrate, sampling rate, channels: As extracted from the
  vorbis header

10 years agoplugins/ogg: Fix leaking comment on error path
Lucas De Marchi [Mon, 12 Aug 2013 14:53:05 +0000 (11:53 -0300)]
plugins/ogg: Fix leaking comment on error path

We need to call vorbis_comment_clear() on error path.

10 years agoDo not use {0} struct initializers
Lucas De Marchi [Mon, 12 Aug 2013 14:00:15 +0000 (11:00 -0300)]
Do not use {0} struct initializers

Change code all over the tree with the following command, and fix up the
one false positive:

git ls-files | while read f; do sed -i 's/ = { *0.*}/ = { }/g' $f; done

10 years agoGet rid of "if (bla) free(bla);"
Lucas De Marchi [Fri, 9 Aug 2013 21:07:14 +0000 (18:07 -0300)]
Get rid of "if (bla) free(bla);"

Patch generated with the following coccinelle semantic patch:

@r@
expression E;
@@

- if (E)
- free(E);
+ free(E);

10 years agoplugins/asf: Add codec support
Lucas De Marchi [Fri, 9 Aug 2013 18:51:50 +0000 (15:51 -0300)]
plugins/asf: Add codec support

ASF as other containers may contain streams encoded in several other
codecs. Maybe we should have a global list/hash-table with all the
possible { ID: name }? Meanwhile, put the more important codecs there
for this specific format.

10 years agoplugins/asf: Add channels, bitrate, sampling_rate
Lucas De Marchi [Fri, 9 Aug 2013 17:49:23 +0000 (14:49 -0300)]
plugins/asf: Add channels, bitrate, sampling_rate

10 years agoplugins/asf: Fix overriding type - parse multiple streams
Lucas De Marchi [Fri, 9 Aug 2013 14:46:51 +0000 (11:46 -0300)]
plugins/asf: Fix overriding type - parse multiple streams

ASF files may contain more than one stream, with more than one type.
Previously if there was a video stream after an audio stream, we would
overwrite the type.

Prepare to support multiple streams and parse all of them. If there's
any video stream, register it. Otherwise, take the first stream.

10 years agoplugins/asf: Add container
Lucas De Marchi [Fri, 9 Aug 2013 14:44:13 +0000 (11:44 -0300)]
plugins/asf: Add container

And change a littler bit the coding style:
 * else on the same line as the previous "}"
 * no need to to "if (bla) free bla;"

10 years agoplugins/asf: No need to overly complicate skipping attributes
Lucas De Marchi [Thu, 8 Aug 2013 21:34:27 +0000 (18:34 -0300)]
plugins/asf: No need to overly complicate skipping attributes

We have no interest in the extension header. Skip it entirely instead of
parsing field by field and skipping them individually.

10 years agoplugins/asf: Add length field
Lucas De Marchi [Thu, 8 Aug 2013 19:14:13 +0000 (16:14 -0300)]
plugins/asf: Add length field

10 years agoplugins/flac: Add new fields
Lucas De Marchi [Thu, 8 Aug 2013 16:15:24 +0000 (13:15 -0300)]
plugins/flac: Add new fields

New fields: length, bitrate, codec, container, sampling_rate, channels.

Bitrate may be a little bit higher than the actual bitrate since we
calculate it as (filesize * 8)/length. I.e. header/coverart are also
accounted.

We could start using the lower level decoder APIs of libflac, so we
don't have to open the file twice to parse metadata + streaminfo.
However benchmarks show it's not that relevant performance-wise.

10 years agoplugins/id3: we parse adts files as well
Lucas De Marchi [Wed, 7 Aug 2013 19:35:05 +0000 (16:35 -0300)]
plugins/id3: we parse adts files as well

.adts files are the same as .aac, but usually without ID3.

10 years agoplugins: Turn on warnings
Lucas De Marchi [Wed, 7 Aug 2013 15:57:20 +0000 (12:57 -0300)]
plugins: Turn on warnings

Turn on the same compiler warnings that were on for the library and fix
the issues.

  * signed/unsigned comparison
  * Missing function prototype
  * constify lms_plugin_info
  * Missing struct initializers (actually remove all of them)
  * Fix LMS_STATIC_STRING_SIZE to cast to char* since lms_string_size is
    declared with 'char *str' and we can't really change it (otherwise
    in other places it would not be able to change the
    string in place

Warnings like this in mp4 plugin is not fixed:
mp4/mp4.c:120:5: warning: implicit declaration of function
'MP4GetMetadataName' [-Wimplicit-function-declaration]
     MP4GetMetadataName(mp4_fh, &info.title.str);

This happens because MP4v2 lib deprecated the use of these functions in
favor to another MP4Tags*() API. Let this warning as is so we remember
to change this code.

10 years agogitignore: Add cscope.{out,files}
Lucas De Marchi [Wed, 7 Aug 2013 15:15:05 +0000 (12:15 -0300)]
gitignore: Add cscope.{out,files}

10 years agobuild: Unrecurse plugins' build
Lucas De Marchi [Wed, 7 Aug 2013 00:10:36 +0000 (21:10 -0300)]
build: Unrecurse plugins' build

10 years agoMake build warnings-aware
Lucas De Marchi [Tue, 6 Aug 2013 22:50:24 +0000 (19:50 -0300)]
Make build warnings-aware

Enable common warnings by default for the library. In order to enable it
for plugins it's better to first convert the build-sys to make it not
recursive.

10 years agoplugins/id3: Add new fields
Lucas De Marchi [Tue, 6 Aug 2013 22:21:21 +0000 (19:21 -0300)]
plugins/id3: Add new fields

Add codec, sampling rate and channels. Container is left empty on
purpose since .mp3 and .aac files are not inside a container per se. We
may want to split the _codecs table later and put the first part as the
container.

We also have basic support for AAC file in a MPEG 4 file, since it's
almost the same of an MPEG2 one.

We only parse audio parameter fields for the ones with ADTS header.
Adding support for ADIF shall be trivial in the future. The current code
find the ID3v2 tag is actually doing more than it needed. The only case
in which the ID3 tag would not be in the start of the file is if there
was an ADIF tag first. But then the header has a fixed size and we
shouldn't need to use a ring buffer of 3 chars. When adding support to
ADIF we may want to kill useless code.

Regarding the supported codecs, we support all the
mpeg{1,2,2.5,3}layer{1,2,3} values. For AAC there's MAIN, LC, SSR and
LTP. Both for MPEG 2 and 4.

10 years agoplugins/id3: use designated initializers
Lucas De Marchi [Fri, 2 Aug 2013 21:10:05 +0000 (18:10 -0300)]
plugins/id3: use designated initializers

It's a pain to add more fields to structs that initialized their fields
like this.

10 years agoaudio: use inttypes.h and reorder fields
Lucas De Marchi [Fri, 2 Aug 2013 20:27:09 +0000 (17:27 -0300)]
audio: use inttypes.h and reorder fields

We don't have versioning in plugins' structs, so plugins must be
updated.

10 years agoaudio: use a macro to bind values
Lucas De Marchi [Mon, 5 Aug 2013 14:10:12 +0000 (11:10 -0300)]
audio: use a macro to bind values

When adding new fields it's too easy to mistakenly call a
lms_db_bind_*() function and forget to update the column which were are
binding to.

10 years agoaudio: Allow plugins to update new fields
Lucas De Marchi [Fri, 2 Aug 2013 20:19:19 +0000 (17:19 -0300)]
audio: Allow plugins to update new fields

We don't have versioning in plugins' structs, so plugins must be
updated.

10 years agoaudio: Add new fields in its table
Lucas De Marchi [Mon, 29 Jul 2013 21:29:38 +0000 (18:29 -0300)]
audio: Add new fields in its table

10 years agoSet update_id when checking files
Lucas De Marchi [Thu, 1 Aug 2013 03:58:00 +0000 (00:58 -0300)]
Set update_id when checking files

10 years agoSet update_id when processing files
Lucas De Marchi [Thu, 1 Aug 2013 03:57:14 +0000 (00:57 -0300)]
Set update_id when processing files

10 years agoPass the entire pinfo to the slave
Lucas De Marchi [Tue, 30 Jul 2013 23:36:43 +0000 (20:36 -0300)]
Pass the entire pinfo to the slave

The worker process already needs 2 fields that comes from pinfo when the
process is forked. There's no reason lms_create_slave() and
lms_restart_slave() should keep the rest of the information private.
Since the worker process will require the update_id that also comes from
this struct, pass the entire struct.

10 years agoAdd helper method to update the global update_id
Lucas De Marchi [Tue, 30 Jul 2013 21:47:46 +0000 (18:47 -0300)]
Add helper method to update the global update_id

update_id is saved in lms_internal, but it's not a table versioning like
other entries.

10 years agoAllow to set update_id field in files table
Lucas De Marchi [Tue, 30 Jul 2013 21:43:39 +0000 (18:43 -0300)]
Allow to set update_id field in files table

10 years agoAdd update_id to files table
Lucas De Marchi [Mon, 29 Jul 2013 22:31:13 +0000 (19:31 -0300)]
Add update_id to files table

10 years agoFix treating up-to-date files as processed
Lucas De Marchi [Wed, 31 Jul 2013 21:43:40 +0000 (18:43 -0300)]
Fix treating up-to-date files as processed

If the file didn't change its mtime and size we shouldn't treat it
otherwise. Previously we would:

  1) Call the callback with reply==PROCESSED
  2) Increment the number of commits to the database. This could
     end with situations like: "BEGIN TRANSACTION; COMMIT;", without
     any operation if no file changed at all.

10 years agoFix using wrong stmt size column
Lucas De Marchi [Wed, 31 Jul 2013 07:08:50 +0000 (04:08 -0300)]
Fix using wrong stmt size column

_update_finfo_from_stmt() was using the wrong size column as the
information about file size. This makes lms_check* always considering
the file as changed, since the size will try to match with the wrong
column.

10 years agobuild: Hide plugins symbols by default
Lucas De Marchi [Wed, 31 Jul 2013 06:09:11 +0000 (03:09 -0300)]
build: Hide plugins symbols by default

Only export the symbols that are meant to be exported with the proper
use of API

10 years agobuild: Avoid building and installing static plugin
Lucas De Marchi [Wed, 31 Jul 2013 05:46:12 +0000 (02:46 -0300)]
build: Avoid building and installing static plugin

There's no need to build and install a static plugin. So, disable it
(only for plugins).

10 years agobuild: modernize build
Lucas De Marchi [Wed, 31 Jul 2013 05:34:09 +0000 (02:34 -0300)]
build: modernize build

  - Use subdir-objects
  - Don't keep INSTALL file on tree. It's a pain that it's updated
    everytime we build the source
  - ChangeLog is more like a NEWS file. ChangeLog can be retrieved from
    git
  - Don't dist autogen.sh since it's intended for devs

11 years agorelease 0.4.5 with mp4v2 2.0 api support. release_0.4.5
Gustavo Sverzut Barbieri [Fri, 6 Jul 2012 14:24:40 +0000 (11:24 -0300)]
release 0.4.5 with mp4v2 2.0 api support.

11 years agomp4: support 2.0 mp4v2 API changes.
Gustavo Sverzut Barbieri [Thu, 5 Jul 2012 16:37:47 +0000 (13:37 -0300)]
mp4: support 2.0 mp4v2 API changes.

The function signature changed:
 * MP4Read(path, flag) -> MP4Read(path)
 * MP4Close(handle) -> MP4Close(handle, flags)

Then detect this and add a new define to choose how to use functions.

12 years agorelease 0.4.4 with minor build improvements. release_0.4.4
Gustavo Sverzut Barbieri [Fri, 19 Aug 2011 21:00:48 +0000 (18:00 -0300)]
release 0.4.4 with minor build improvements.

12 years agoINSTALL: update autofoo provided install instructions file.
Gustavo Sverzut Barbieri [Fri, 19 Aug 2011 20:57:48 +0000 (17:57 -0300)]
INSTALL: update autofoo provided install instructions file.

12 years agoIgnore generated files.
Gustavo Sverzut Barbieri [Fri, 19 Aug 2011 20:57:03 +0000 (17:57 -0300)]
Ignore generated files.

12 years agoimprove autofoo handling of m4 and generation.
Gustavo Sverzut Barbieri [Fri, 19 Aug 2011 20:54:37 +0000 (17:54 -0300)]
improve autofoo handling of m4 and generation.

Use recommended macro in configure.ac and Makefile.am to define "m4/"
as our storage for macro files.

Use autoreconf instead of manually running all the commands on our
own.

12 years agoship config.rpath to shut up newer automake.
Gustavo Sverzut Barbieri [Fri, 19 Aug 2011 20:41:49 +0000 (17:41 -0300)]
ship config.rpath to shut up newer automake.

AM_ICONV requires config.rpath that is provided by gettext stuff, but
we don't use gettext/autopoint so it's not created. However seems
newer automake will complain about this missing file.

I'm not happy to copy this non-sense script into repository, but let's
go the easy route.

12 years agouse AM_ICONV to allow external libiconv to be used.
Gustavo Sverzut Barbieri [Thu, 18 Aug 2011 19:18:25 +0000 (16:18 -0300)]
use AM_ICONV to allow external libiconv to be used.

12 years agoUpdate my copyright and lgpl to 2.1
Gustavo Sverzut Barbieri [Wed, 17 Aug 2011 17:10:41 +0000 (14:10 -0300)]
Update my copyright and lgpl to 2.1

13 years agoFixed AM_CONDITIONAL(USE_TREMOR) if OGG was not in use. release_0.4.3
Gustavo Sverzut Barbieri [Tue, 22 Mar 2011 16:31:20 +0000 (13:31 -0300)]
Fixed AM_CONDITIONAL(USE_TREMOR) if OGG was not in use.

13 years ago0.4.2 release with RPM spec inside. release_0.4.2
Gustavo Sverzut Barbieri [Thu, 2 Dec 2010 01:13:26 +0000 (23:13 -0200)]
0.4.2 release with RPM spec inside.

13 years agoignore generated RPM spec file.
Gustavo Sverzut Barbieri [Thu, 2 Dec 2010 01:10:18 +0000 (23:10 -0200)]
ignore generated RPM spec file.

13 years agoAdd RPM spec so rpm-build works
Rui Miguel Silva Seabra [Mon, 29 Nov 2010 21:05:31 +0000 (21:05 +0000)]
Add RPM spec so rpm-build works

Signed-off-by: Rui Miguel Silva Seabra <rms@1407.org>
13 years agoNew release with mp4v2.h fixes. release_0.4.1
Gustavo Sverzut Barbieri [Thu, 23 Sep 2010 01:22:42 +0000 (22:22 -0300)]
New release with mp4v2.h fixes.

13 years agoSupport mp4v2.h as well.
Gustavo Sverzut Barbieri [Thu, 23 Sep 2010 01:21:58 +0000 (22:21 -0300)]
Support mp4v2.h as well.

mp4v2 does not ship with mp4.h anymore, so let's detect that.

13 years agodetect color in more $TERM (urxvt and screen)
Gustavo Sverzut Barbieri [Thu, 23 Sep 2010 01:21:17 +0000 (22:21 -0300)]
detect color in more $TERM (urxvt and screen)

13 years agoRelease 0.4 release_0.4.0
João Paulo Rechi Vita [Mon, 12 Jul 2010 21:08:15 +0000 (18:08 -0300)]
Release 0.4

13 years agoMention rakuco's contributions
João Paulo Rechi Vita [Mon, 12 Jul 2010 19:26:50 +0000 (16:26 -0300)]
Mention rakuco's contributions

13 years agoMention jprvita's contributions
João Paulo Rechi Vita [Mon, 12 Jul 2010 19:24:53 +0000 (16:24 -0300)]
Mention jprvita's contributions

13 years agoUpdate etrunko's email on authors file
João Paulo Rechi Vita [Mon, 12 Jul 2010 19:23:57 +0000 (16:23 -0300)]
Update etrunko's email on authors file

13 years agoFix double call of lms_parsers_finish()
João Paulo Rechi Vita [Mon, 23 Nov 2009 17:33:33 +0000 (15:33 -0200)]
Fix double call of lms_parsers_finish()

If an error ocurred in _db_and_parsers_setup() called from the single
process version of lms_process, lms_parsers_finish() was called twice,
leading to a double free.

13 years agoChange the dummy plugin not to write a log file.
Raphael Kubo da Costa [Wed, 7 Oct 2009 21:40:10 +0000 (18:40 -0300)]
Change the dummy plugin not to write a log file.

13 years agoFix lms_parser_del().
João Paulo Rechi Vita [Wed, 7 Oct 2009 21:27:17 +0000 (18:27 -0300)]
Fix lms_parser_del().

When memmove'ing the parsers array, the pointer to the array was being
overwritten with the destination of the memmove.

Fix by Rafael Antognolli <antognolli@profusion.mobi>.

13 years agoAdds insert time (itime) field to table files.
João Paulo Rechi Vita [Tue, 29 Sep 2009 16:11:05 +0000 (13:11 -0300)]
Adds insert time (itime) field to table files.

This field represents the time each file was inserted in the database.
It's updated on INSERT statements and also when dtime is set to zero
(representing a re-insertion of a file with the same path).
It does not cover the case where a path is overwritten by a different
file without prior deletion. In this case the itime remains the time
of the insertion of the first file.

13 years agoFix binding in lms_db_set_file_dtime().
João Paulo Rechi Vita [Tue, 29 Sep 2009 16:03:13 +0000 (13:03 -0300)]
Fix binding in lms_db_set_file_dtime().

The id value was being binded to the statement with index one, which
is the index of the dtime field in the statement.

13 years agoOgg: Add "ogv" extension
Eduardo Lima (Etrunko) [Mon, 12 Jul 2010 19:24:03 +0000 (16:24 -0300)]
Ogg: Add "ogv" extension

13 years agoAllow building from a separate directory.
Raphael Kubo da Costa [Fri, 2 Jul 2010 15:38:48 +0000 (12:38 -0300)]
Allow building from a separate directory.

14 years agoRemove compiler warnings.
Rafael Antognolli [Thu, 3 Sep 2009 23:38:25 +0000 (20:38 -0300)]
Remove compiler warnings.

14 years agoFix small typo on README file.
João Paulo Rechi Vita [Wed, 26 Aug 2009 21:42:44 +0000 (18:42 -0300)]
Fix small typo on README file.

14 years agoAdd length field to table videos.
João Paulo Rechi Vita [Fri, 21 Aug 2009 20:29:32 +0000 (17:29 -0300)]
Add length field to table videos.

14 years agoAdd length field to table audios.
João Paulo Rechi Vita [Fri, 21 Aug 2009 15:48:54 +0000 (12:48 -0300)]
Add length field to table audios.

14 years agoFix doxygen of dtime field in files DB table.
João Paulo Rechi Vita [Mon, 17 Aug 2009 20:52:32 +0000 (17:52 -0300)]
Fix doxygen of dtime field in files DB table.

15 years agoAdded m4v extension to the mp4 plugin. release_0.3.0
Luis Felipe Strano Moraes [Mon, 16 Feb 2009 17:16:04 +0000 (14:16 -0300)]
Added m4v extension to the mp4 plugin.

15 years agoLMS was mistakingly treating Composer field as Genre/Content.
Luis Felipe Strano Moraes [Fri, 13 Feb 2009 15:37:12 +0000 (13:37 -0200)]
LMS was mistakingly treating Composer field as Genre/Content.

15 years agoVersion bump to reflect API changes.
Gustavo Sverzut Barbieri [Tue, 3 Feb 2009 20:54:09 +0000 (18:54 -0200)]
Version bump to reflect API changes.

15 years agoFix sqlite3 dependencies.
Rafael Antognolli [Thu, 8 Jan 2009 17:02:42 +0000 (15:02 -0200)]
Fix sqlite3 dependencies.

15 years agoNew status code for progress callback (affects lms_process only).
Gustavo Lima Chaves [Thu, 18 Dec 2008 21:48:34 +0000 (19:48 -0200)]
New status code for progress callback (affects lms_process only).

Changed the semantics of the LMS_PROGRESS_STATUS_PROCESSED status code,
which is now triggered only for files which are actually parsed (do a
match). Files which don't get a parser match send the
*new* LMS_PROGRESS_STATUS_SKIPPED status code.

Also updating TODO file.

15 years agoDo not modify or free FLAC library-owned strings.
Luis Felipe Strano Moraes [Thu, 20 Nov 2008 19:52:49 +0000 (17:52 -0200)]
Do not modify or free FLAC library-owned strings.

lms_string_size_strip_and_free() and lms_charset_conv() will modify
string contents and pointers, do not handle it FLAC library strings,
this will screw memory. Instead we duplicate memory, operate on it and
then free.

15 years agoadd path to parser_info.
Gustavo Sverzut Barbieri [Wed, 22 Oct 2008 04:22:08 +0000 (02:22 -0200)]
add path to parser_info.

This way we can use lms_parser_info_find() to retrieve module path as well.

15 years agoimprove test to use getopt.
Gustavo Sverzut Barbieri [Tue, 21 Oct 2008 21:03:12 +0000 (19:03 -0200)]
improve test to use getopt.

Test is now much more user friendly using getopt, one can choose to
set or not various parameters that before were forced. See --help.

15 years agoexport parsers and their informations.
Gustavo Sverzut Barbieri [Tue, 21 Oct 2008 18:50:22 +0000 (16:50 -0200)]
export parsers and their informations.

It is now possible to list all known parsers and retrieve information
about them, like category and description.

15 years agoRelease 0.2 release_0.2.0
Gustavo Sverzut Barbieri [Sun, 5 Oct 2008 14:44:41 +0000 (11:44 -0300)]
Release 0.2

15 years agoRemove compiler warnings.
Gustavo Sverzut Barbieri [Sun, 5 Oct 2008 15:04:31 +0000 (12:04 -0300)]
Remove compiler warnings.

15 years agoNew column on audios table: artist_id.
Gustavo Lima Chaves [Wed, 17 Sep 2008 22:15:10 +0000 (19:15 -0300)]
New column on audios table: artist_id.

In the old schema, audio files with no album tags didn't get
their artist tags inserted on the DB, also.

15 years agoBugfix: using correct column.
Gustavo Lima Chaves [Fri, 19 Sep 2008 15:17:13 +0000 (12:17 -0300)]
Bugfix: using correct column.

15 years agoIntroducing new API function: lms_check_single_process().
Gustavo Lima Chaves [Tue, 16 Sep 2008 22:24:47 +0000 (19:24 -0300)]
Introducing new API function: lms_check_single_process().

It behaves as lms_check(), but without forking into a child process.
The test program was updated in order to choose which checking API
function to call.

15 years agoChanges on (lms_check's) functions to facilitate the choice between
Gustavo Lima Chaves [Tue, 16 Sep 2008 22:06:20 +0000 (19:06 -0300)]
Changes on (lms_check's) functions to facilitate the choice between
single process/original version mode of operation of LMS.

Now a custom _check_row() function may be used. Also preparing for
introduction of a new db struct.

15 years agoFactoring out code from (lms_check's) lms_check() and some related functions.
Gustavo Lima Chaves [Tue, 16 Sep 2008 21:17:10 +0000 (18:17 -0300)]
Factoring out code from (lms_check's) lms_check() and some related functions.

15 years agoIntroducing new API function: lms_process_single_process().
Gustavo Lima Chaves [Tue, 16 Sep 2008 13:51:25 +0000 (10:51 -0300)]
Introducing new API function: lms_process_single_process().

It behaves as lms_process(), but without forking into a child process.
The test program was updated in order to choose which processing API
function to call.

15 years agoAdapting _process_trigger() to call a custom process_file() function.
Gustavo Lima Chaves [Mon, 15 Sep 2008 22:26:31 +0000 (19:26 -0300)]
Adapting _process_trigger() to call a custom process_file() function.

The modification on struct pinfo was made because a new info struct is to
be introduced for the single-process version of LMS API functions. They
have struct cinfo as common fields.

15 years agoFactoring out code from (lms_process's) lms_process().
Gustavo Lima Chaves [Mon, 15 Sep 2008 22:11:47 +0000 (19:11 -0300)]
Factoring out code from (lms_process's) lms_process().

One of the created functions will manage the choice between
single process/original version mode of operation of LMS.

15 years agoFactoring out code from (lms_process's) _slave_work().
Gustavo Lima Chaves [Mon, 15 Sep 2008 21:52:13 +0000 (18:52 -0300)]
Factoring out code from (lms_process's) _slave_work().

The two created functions are going to be, later, used by
file processing functions for the single version lms API.