libextractor  1.11
About: GNU libextractor is a library used to extract meta-data from files of arbitrary type.
  Fossies Dox: libextractor-1.11.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

s3m_extractor.c File Reference

plugin to support Scream Tracker (S3M) files More...

#include "platform.h"
#include "extractor.h"
#include "le_architecture.h"
Include dependency graph for s3m_extractor.c:

Go to the source code of this file.

Data Structures

struct  S3MHeader


#define ADD(s, t)


void EXTRACTOR_s3m_extract_method (struct EXTRACTOR_ExtractContext *ec)

Detailed Description

plugin to support Scream Tracker (S3M) files

Toni Ruottu
Christian Grothoff

Definition in file s3m_extractor.c.

Macro Definition Documentation


#define ADD (   s,
do { if (0 != ec->proc (ec->cls, "s3m", t, \
"text/plain", s, strlen (s) \
+ 1)) return; \
} while (0)
Definition: extractor.h:102

Give meta data to LE 'proc' callback using the given LE type and value.

tLE meta data type
smeta data to add

Definition at line 64 of file s3m_extractor.c.

Function Documentation

◆ EXTRACTOR_s3m_extract_method()

void EXTRACTOR_s3m_extract_method ( struct EXTRACTOR_ExtractContext ec)

Extractor based upon Scream Tracker 3.20 spec at

Looks like the format was defined by the software implementation, and that implementation was for little-endian platform, which means that the format is little-endian.

ecextraction context

Definition at line 81 of file s3m_extractor.c.

References ADD, EXTRACTOR_ExtractContext::cls, EXTRACTOR_METATYPE_MIMETYPE, EXTRACTOR_METATYPE_TITLE, header::flags, LE_le16toh, and EXTRACTOR_ExtractContext::read.