@holzchopf/flp-file
v1.0.0
Published
Reads and writes FL Studio project and state files.
Downloads
4
Readme
This file was auto-generated with zdoccer.js
2.0.3
Index
- @holzchopf/flp-file
type FLPChunkType = 'FLhd' | 'FLdt'
abstract class FLPChunk
class FLPHeaderChunk extends FLPChunk
class FLPDataChunk extends FLPChunk
type FLPEventTypeName = keyof typeof FLPEventTypeRaw
type FLPEventTypeId = typeof FLPEventTypeRaw[FLPEventTypeName]
const FLPEventType =
type FLPDataType = 'int8' | 'int16' | 'int32' | 'uint8' | 'uint16' | 'uint32' | 'float32' | 'binary' | 'ascii' | 'utf-16le'
let FLPEventValueDataType: Partial<Record<FLPEventTypeName, FLPDataType>> =
class FLPEvent
type FLPFileFormatName = keyof typeof FLPFileFormatRaw
type FLPFileFormatId = typeof FLPFileFormatRaw[FLPFileFormatName]
const FLPFileFormat =
class FLPFile
original Markdown from src/_preamble.md
@holzchopf/flp-file
Allows to read and write FL Studio project and state files.
transformed Javadoc from src/flp-chunk.ts
type FLPChunkType = 'FLhd' | 'FLdt'
The chunks in an FLPFile have a 4-byte ASCII-string indicated type. These are those types.
abstract class FLPChunk
Class representing a chunk in an FLPFile.
type: FLPChunkType
Type of this chunk.
abstract getBinary(): ArrayBuffer
Creates the binary data for this chunk and returns it.
abstract setBinary(buffer: ArrayBuffer): void
Sets this chunk's values from binary data.
- param
buffer
— Binary data.
class FLPHeaderChunk extends FLPChunk
Specific class for the header chunk.
format: number = -1
Numeric file format identifier.
get formatName()
Name of file format.
channelCnt: number = 0
Number of channels.
ppq: number = 96
Project PPQ.
class FLPDataChunk extends FLPChunk
Specific class for the data chunk.
events: FLPEvent[] = []
FLPEvents in this chunk.
transformed Javadoc from src/flp-event-type.ts
type FLPEventTypeName = keyof typeof FLPEventTypeRaw
Known event names.
type FLPEventTypeId = typeof FLPEventTypeRaw[FLPEventTypeName]
Known event IDs.
const FLPEventType =
Types of the events in an FLPDataChunk .
name: (id: number): FLPEventTypeName | 'unknown' =>
Returns the name of a given event ID, or 'unknown'
.
- param
id
— Event ID.
byName: (name: string): FLPEventTypeId | undefined =>
Returns the ID for a given event name, or undefined
- param
name
— Event name.
transformed Javadoc from src/flp-event.ts
type FLPDataType = 'int8' | 'int16' | 'int32' | 'uint8' | 'uint16' | 'uint32' | 'float32' | 'binary' | 'ascii' | 'utf-16le'
Possible data types for event values.
let FLPEventValueDataType: Partial<Record<FLPEventTypeName, FLPDataType>> =
Data types for event's values. Falls back to uint8
for event ids < 64, uint16
for event ids < 128, uint32
for event ids < 192, utf-16le
for event ids < 210, binary
otherwise.
This is not a const
- you can add or overwrite types for events in your project.
class FLPEvent
Class for events.
type: number
Numeric FLPEventType .
get typeName()
Name of FLPEventType . Readonly.
value: number | string | ArrayBuffer
Primitive representation of event data. Data type varies by event type.
get maxByteLength()
Returns the maximum allowed byte length depending on event type.
getBinary(): ArrayBuffer
Creates the binary data for this event and returns it.
setBinary(buffer: ArrayBuffer)
Sets this event's values from binary data.
- param
buffer
— Binary data.
static getValueDataType(type: number | FLPEventTypeName): FLPDataType
Returns the expected data type for a given event type.
- param
type
— Event type.
transformed Javadoc from src/flp-file-format.ts
type FLPFileFormatName = keyof typeof FLPFileFormatRaw
Known file format names.
type FLPFileFormatId = typeof FLPFileFormatRaw[FLPFileFormatName]
Known file format IDs.
const FLPFileFormat =
Specific file formats of FLPFile s.
name: (id: number): FLPFileFormatName | 'unknown' =>
Returns the name of a given file format ID, or 'unknown'
- param
id
— File format ID.
byName: (name: string): FLPFileFormatId | undefined =>
Returns the ID for a given file format name, or undefined
- param
name
— File format name.
transformed Javadoc from src/flp-file.ts
class FLPFile
Class representing an FL Studio file, which might be a project file (.flp). But other FL Studio files, like state files (.fst) have the same format.
Every FLPFile consists of two chunks:
- A header chunk, containing file and global project information.
- A data chunk, containing event data.
header: FLPHeaderChunk
Header chunk.
data: FLPDataChunk
Data chunk.
getBinary(): ArrayBuffer
Creates the binary data for this file and returns it.
setBinary(buffer: ArrayBuffer)
Sets this files's values from binary data.
- param
buffer
— Binary data.