DLS::Info Class Reference

Optional information for DLS files, instruments, samples, etc. More...

`#include <DLS.h>`

Inheritance diagram for DLS::Info:

## Public Member Functions

| Info (RIFF::List *list)
| Constructor.
void | SetFixedStringLengths (const string_length_t *lengths)
| Forces specific Info fields to be of a fixed length when being saved to a file.
virtual void | UpdateChunks (progress_t *pProgress)
| Update chunks with current info values.
virtual void | DeleteChunks ()
| Remove all RIFF chunks associated with this Info object.
virtual void | CopyAssign (const Info *orig)
| Make a deep copy of the Info object given by orig and assign it to this object.

## Public Attributes

String | Name
| <INAM-ck>. Stores the title of the subject of the file, such as, Seattle From Above.
String | ArchivalLocation
| <IARL-ck>. Indicates where the subject of the file is stored.
String | CreationDate
| <ICRD-ck>. Specifies the date the subject of the file was created. List dates in yyyy-mm-dd format.
String | Comments
| <ICMT-ck>. Provides general comments about the file or the subject of the file. Sentences might end with semicolon.
String | Product
| <IPRD-ck>. Specifies the name of the title the file was originally intended for, such as World Ruler V.
String | Copyright
| <ICOP-ck>. Records the copyright information for the file.
String | Artists
| <IART-ck>. Lists the artist of the original subject of the file.
String | Genre
| <IGNR-ck>. Descirbes the original work, such as, Jazz, Classic, Rock, Techno, Rave, etc.
String | Keywords
| <IKEY-ck>. Provides a list of keywords that refer to the file or subject of the file. Keywords are separated with semicolon and blank, e.g., FX; death; murder.
String | Engineer
| <IENG-ck>. Stores the name of the engineer who worked on the file. Multiple engineer names are separated by semicolon and blank, e.g, Smith, John; Adams, Joe.
String | Technician
| <ITCH-ck>. Identifies the technician who sampled the subject file.
String | Software
| <ISFT-ck>. Identifies the name of the sofware package used to create the file.
String | Medium
| <IMED-ck>. Describes the original subject of the file, such as, record, CD, and so forth.
String | Source
| <ISRC-ck>. Identifies the name of the person or organization who supplied the original subject of the file.
String | SourceForm
| <ISRF-ck>. Identifies the original form of the material that was digitized, such as record, sampling CD, TV sound track. This is not neccessarily the same as Medium.
String | Commissioned
| <ICMS-ck>. Lists the name of the person or organization that commissioned the subject of the file, e.g., Pope Julian II.
String | Subject
| <ISBJ-ck>. Describes the contents of the file.
bool | UseFixedLengthStrings

## Detailed Description

Optional information for DLS files, instruments, samples, etc.

Definition at line 363 of file DLS.h.

## Constructor & Destructor Documentation

## Info()

DLS::Info::Info | ( | RIFF::List * | list | ) |

Constructor.

Initializes the info strings with values provided by an INFO list chunk.

Parameters

  list | - pointer to a list chunk which contains an INFO list chunk

Definition at line 332 of file DLS.cpp.

References ArchivalLocation, Artists, Comments, Commissioned, Copyright, CreationDate, Engineer, Genre, RIFF::List::GetSubList(), Keywords, Medium, Name, Product, Software, Source, SourceForm, Subject, Technician, and UseFixedLengthStrings.

Referenced by CopyAssign().

## ~Info()

DLS::Info::~Info | ( |  | ) |

virtual

Definition at line 365 of file DLS.cpp.

## Member Function Documentation

## CopyAssign()

void DLS::Info::CopyAssign | ( | const Info * | orig | ) |

virtual

Make a deep copy of the Info object given by orig and assign it to this object.

Parameters

  orig | - original Info object to be copied from

Definition at line 503 of file DLS.cpp.

References ArchivalLocation, Artists, Comments, Commissioned, Copyright, CreationDate, Engineer, Genre, Info(), Keywords, Medium, Name, Product, Software, Source, SourceForm, Subject, and Technician.

## DeleteChunks()

void DLS::Info::DeleteChunks | ( |  | ) |

virtual

Remove all RIFF chunks associated with this Info object.

At the moment Info::DeleteChunks() does nothing. It is recommended to call this method explicitly though from deriving classes's own overridden implementation of this method to avoid potential future compatibility issues.

See Storage::DeleteChunks() for details.

Implements DLS::Storage.

Definition at line 494 of file DLS.cpp.

## SetFixedStringLengths()

void DLS::Info::SetFixedStringLengths | ( | const string_length_t * | lengths | ) |

Forces specific Info fields to be of a fixed length when being saved to a file.

By default the respective RIFF chunk of an Info field will have a size analogue to its actual string length. With this method however this behavior can be overridden, allowing to force an arbitrary fixed size individually for each Info field.

This method is used as a workaround for the gig format, not for DLS.

Parameters

  lengths | - NULL terminated array of string_length_t elements

Definition at line 379 of file DLS.cpp.

## UpdateChunks()

void DLS::Info::UpdateChunks | ( | progress_t * | pProgress | ) |

virtual

Update chunks with current info values.

Apply current INFO field values to the respective INFO chunks. You have to call File::Save() to make changes persistent.

Parameters

  pProgress | - callback function for progress notification

Implements DLS::Storage.

Definition at line 429 of file DLS.cpp.

References RIFF::List::GetSubList().

## Member Data Documentation

## ArchivalLocation

String DLS::Info::ArchivalLocation

<IARL-ck>. Indicates where the subject of the file is stored.

Definition at line 366 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Artists

String DLS::Info::Artists

<IART-ck>. Lists the artist of the original subject of the file.

Definition at line 371 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Comments

String DLS::Info::Comments

<ICMT-ck>. Provides general comments about the file or the subject of the file. Sentences might end with semicolon.

Definition at line 368 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Commissioned

String DLS::Info::Commissioned

<ICMS-ck>. Lists the name of the person or organization that commissioned the subject of the file, e.g., Pope Julian II.

Definition at line 380 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Copyright

String DLS::Info::Copyright

<ICOP-ck>. Records the copyright information for the file.

Definition at line 370 of file DLS.h.

Referenced by CopyAssign(), and Info().

## CreationDate

String DLS::Info::CreationDate

<ICRD-ck>. Specifies the date the subject of the file was created. List dates in yyyy-mm-dd format.

Definition at line 367 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Engineer

String DLS::Info::Engineer

<IENG-ck>. Stores the name of the engineer who worked on the file. Multiple engineer names are separated by semicolon and blank, e.g, Smith, John; Adams, Joe.

Definition at line 374 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Genre

String DLS::Info::Genre

<IGNR-ck>. Descirbes the original work, such as, Jazz, Classic, Rock, Techno, Rave, etc.

Definition at line 372 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Keywords

String DLS::Info::Keywords

<IKEY-ck>. Provides a list of keywords that refer to the file or subject of the file. Keywords are separated with semicolon and blank, e.g., FX; death; murder.

Definition at line 373 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Medium

String DLS::Info::Medium

<IMED-ck>. Describes the original subject of the file, such as, record, CD, and so forth.

Definition at line 377 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Name

String DLS::Info::Name

<INAM-ck>. Stores the title of the subject of the file, such as, Seattle From Above.

Definition at line 365 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Product

String DLS::Info::Product

<IPRD-ck>. Specifies the name of the title the file was originally intended for, such as World Ruler V.

Definition at line 369 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Software

String DLS::Info::Software

<ISFT-ck>. Identifies the name of the sofware package used to create the file.

Definition at line 376 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Source

String DLS::Info::Source

<ISRC-ck>. Identifies the name of the person or organization who supplied the original subject of the file.

Definition at line 378 of file DLS.h.

Referenced by CopyAssign(), and Info().

## SourceForm

String DLS::Info::SourceForm

<ISRF-ck>. Identifies the original form of the material that was digitized, such as record, sampling CD, TV sound track. This is not neccessarily the same as Medium.

Definition at line 379 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Subject

String DLS::Info::Subject

<ISBJ-ck>. Describes the contents of the file.

Definition at line 381 of file DLS.h.

Referenced by CopyAssign(), and Info().

## Technician

String DLS::Info::Technician

<ITCH-ck>. Identifies the technician who sampled the subject file.

Definition at line 375 of file DLS.h.

Referenced by CopyAssign(), and Info().

## UseFixedLengthStrings

bool DLS::Info::UseFixedLengthStrings

Deprecated
  Not used anymore, use SetFixedStringLengths() instead.

Definition at line 382 of file DLS.h.

Referenced by Info().

The documentation for this class was generated from the following files:

- DLS.h
- DLS.cpp