diff --git a/src/id3v2/frames.mjs b/src/id3v2/frames.mjs index 342111e..f5786a5 100644 --- a/src/id3v2/frames.mjs +++ b/src/id3v2/frames.mjs @@ -591,7 +591,16 @@ export const TSO2 = { version: [3, 4] } -/* ID3v2.2 Tags */ +/** + * ID3v2.2 Tags + */ +export const TT1 = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + export const TT2 = { parse: parsers.textFrame, validate: validators.textFrame, @@ -599,9 +608,226 @@ export const TT2 = { version: [2] } +export const TT3 = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + export const TP1 = { parse: parsers.textFrame, validate: validators.textFrame, write: writers.textFrame, version: [2] } + +export const TP2 = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TP3 = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TP4 = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TCM = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TXT = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TLA = { + parse: parsers.textFrame, + validate: validators.tlanFrame, + write: writers.win1251Frame, + version: [2] +} + +export const TCO = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TAL = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TPA = { + parse: parsers.setFrame, + validate: validators.setFrame, + write: writers.setFrame, + version: [2] +} + +export const TRK = { + parse: parsers.setFrame, + validate: validators.setFrame, + write: writers.setFrame, + version: [2] +} + +export const TRC = { + parse: parsers.textFrame, + validate: validators.tsrcFrame, + write: writers.win1251Frame, + version: [2] +} + +export const TYE = { + parse: parsers.textFrame, + validate: validators.timeFrame, + write: writers.win1251Frame, + version: [2] +} + +export const TDA = { + parse: parsers.textFrame, + validate: validators.timeFrame, + write: writers.win1251Frame, + version: [2] +} + +export const TIM = { + parse: parsers.textFrame, + validate: validators.timeFrame, + write: writers.win1251Frame, + version: [2] +} + +export const TRD = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.win1251Frame, + version: [2] +} + +export const TMT = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TFT = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TBP = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.win1251Frame, + version: [2] +} + +export const TCR = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TPB = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TEN = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TSS = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TOF = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TLE = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.win1251Frame, + version: [2] +} + +export const TSI = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.win1251Frame, + version: [2] +} + +export const TDY = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.win1251Frame, + version: [2] +} + +export const TKE = { + parse: parsers.textFrame, + validate: validators.tkeyFrame, + write: writers.win1251Frame, + version: [2] +} + +export const TOT = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TOA = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.textFrame, + version: [2] +} + +export const TOR = { + parse: parsers.textFrame, + validate: validators.textFrame, + write: writers.win1251Frame, + version: [2] +} diff --git a/src/id3v2/validate.mjs b/src/id3v2/validate.mjs index 1d010d2..9405466 100644 --- a/src/id3v2/validate.mjs +++ b/src/id3v2/validate.mjs @@ -25,7 +25,7 @@ export function textFrame (value, version, strict) { } export function setFrame (value, version, strict) { - if (version === 3) value = [value] + if (version === 2 || version === 3) value = [value] else if (version === 4) value = value.split('\\\\') value.forEach(set => { @@ -51,7 +51,7 @@ export function setFrame (value, version, strict) { } export function timeFrame (value, version, strict) { - if (version === 3) value = [value] + if (version === 2 || version === 3) value = [value] else if (version === 4) value = value.split('\\\\') value.forEach(time => { @@ -70,7 +70,7 @@ export function timeFrame (value, version, strict) { } export function tkeyFrame (value, version, strict) { - if (version === 3) value = [value] + if (version === 2 || version === 3) value = [value] else if (version === 4) value = value.split('\\\\') value.forEach(tkey => { @@ -85,7 +85,7 @@ export function tkeyFrame (value, version, strict) { } export function tlanFrame (value, version, strict) { - if (version === 3) value = [value] + if (version === 2 || version === 3) value = [value] else if (version === 4) value = value.split('\\\\') value.forEach(tlan => { @@ -100,7 +100,7 @@ export function tlanFrame (value, version, strict) { } export function tsrcFrame (value, version, strict) { - if (version === 3) value = [value] + if (version === 2 || version === 3) value = [value] else if (version === 4) value = value.split('\\\\') value.forEach(tsrc => {