From cc9f9a7e75a552452778159de22d7f2c48008fa0 Mon Sep 17 00:00:00 2001 From: David Wheatley Date: Sat, 4 Nov 2023 18:06:07 +0100 Subject: [PATCH] feat: support additional tocs --- .../systems/stations/KeTechPhil.tsx | 405 ++++++++++-------- .../phil/toc/e/transpennine express.mp3 | Bin 0 -> 16992 bytes .../ketech/phil/toc/e/transpennine.mp3 | Bin 0 -> 11987 bytes 3 files changed, 222 insertions(+), 183 deletions(-) create mode 100644 static/audio/station/ketech/phil/toc/e/transpennine express.mp3 create mode 100644 static/audio/station/ketech/phil/toc/e/transpennine.mp3 diff --git a/src/announcement-data/systems/stations/KeTechPhil.tsx b/src/announcement-data/systems/stations/KeTechPhil.tsx index 38dc5250b..6ef3ba44f 100644 --- a/src/announcement-data/systems/stations/KeTechPhil.tsx +++ b/src/announcement-data/systems/stations/KeTechPhil.tsx @@ -252,179 +252,203 @@ export default class KeTechPhil extends StationAnnouncementSystem { } } - readonly AVAILABLE_TOCS = [ - 'a replacement bus', - 'additional', - 'additional Chiltern Railways', - 'additional football special', - 'Alphaline', - 'Anglia Railways', - 'Anglia Railways Train', - 'Arriva CrossCountry', - 'Arriva Trains Merseyside', - 'Arriva Trains Northern', - 'Arriva Trains Northern', - 'Arriva Trains Wales', - 'Blackheath and Woolwich', - 'Blackheath and Woolwich Arsenal', - 'Blackheath and Woolwich Arsenal Line', - 'c2c', - 'c2c Rail', - 'Cardiff Railways', - 'Central Trains', - 'Charter', - 'Chiltern Line', - 'Chiltern Railway Company', - 'Chiltern Railways', - 'Chiselhurst and Maidstone East', - 'Chiselhurst and Maidstone East Line', - 'Chiselhurst Sevenoaks and Canterbury West', - 'Chiselhurst Sevenoaks and Canterbury West Line', - 'Connex', - 'Connex Express', - 'Connex Metro', - 'Connex Racecourse Special', - 'Connex Rail', - 'Connex South Central', - 'Connex South Eastern', - 'Country', - 'CrossCountry', - 'diverted', - 'East Midlands', - 'Eurostar', - 'express', - 'First Capital Connect', - 'First Great Western', - 'First Great Western Adelante', - 'First Great Western Atlantic Coast Express', - 'First Great Western Bristolian', - 'First Great Western Cathedrals Express', - 'First Great Western Cheltenham Flier', - 'First Great Western Cheltenham Spa Express', - 'First Great Western Cornish Riviera', - 'First Great Western Devon Belle', - 'First Great Western Golden Hind', - 'First Great Western Hibernian', - 'First Great Western High Speed', - 'First Great Western Intercity', - 'First Great Western Link', - 'First Great Western Mayflower', - 'First Great Western Merchant Venturer', - 'First Great Western Motorail', - 'First Great Western Night Riviera', - 'First Great Western Pembroke Coast Express', - 'First Great Western Red Dragon', - 'First Great Western Royal Duchy', - 'First Great Western Royal Wessex', - 'First Great Western St David', - 'First Great Western Torbay Express', - 'First Transpennine Express', - 'First Transpennine Service', - 'football special', - 'for seat reservations holders only', - 'Gatwick Express', - 'GNER', - 'Grand Central', - 'Great Eastern', - 'Great Eastern Railway', - 'Great North Eastern Railway', - 'Great North Eastern Railways', - 'Great North Eastern Railways White Rose', - 'Great North Eastern Railways Yorkshire Pullman', - 'Great Northern', - 'Great Western', - 'Heathrow Express', - 'Holidaymaker', - 'Holidaymaker Express', - 'Hull Trains', - 'Island Line', - 'London Midland', - 'London Midland City', - 'London Midland Express', - 'London Overground', - 'London Transport Buses', - 'London Underground', - 'LTS Rail', - 'Maidstone East and Ashford International Line', - 'Maidstone East and Ashford Line', - 'Maidstone East and Canterbury West Line', - 'Maidstone East and Dover Priory Line', - 'Merseyside Electrics', - 'Midland Mainline', - 'Midland Mainline High Speed Train', - 'Midland Mainline Turbostar', - 'National Express', - 'National Express East Coast', - 'New Southern Railway', - 'New Southern Railway Brighton Express', - 'North London Railway', - 'Northern', - 'Northern Rail', - 'Northern Spirit', - 'One', - 'One Anglia', - 'Orient Express', - 'private charter train', - 'Racecourse Special', - 'replacement bus', - 'return charter train', - 'rugby special', - 'ScotRail', - 'ScotRail Railways', - 'Silverlink County', - 'Silverlink Metro', - 'South Central', - 'South Central Trains', - 'South West Trains', - 'Southeastern', - 'Southeastern Trains', - 'Southern', - 'Southern Railway', - 'Southern Railway Brighton Express', - 'special charter', - 'Stansted Express', - 'steam charter train', - 'stopping', - 'Tarka Line', - 'Thames Trains', - 'Thameslink', - 'Thameslink City Flier', - 'Thameslink City Metro', - 'The Mid Hants Steam Railway', - 'The National Express East Coast', - 'The Swanage Railway', - 'The Watercress Line', - 'The Yorkshire Pullman', - 'Tramlink', - 'Tyne and Wear Metro', - 'Valley Lines', - 'Virgin Pendolino', - 'Virgin Trains', - 'Virgin Trains Armada', - 'Virgin Trains Cornish Scot', - 'Virgin Trains Cornishman', - 'Virgin Trains Cross Country', - 'Virgin Trains Devon Scot', - 'Virgin Trains Devonian', - 'Virgin Trains Dorset Scot', - 'Virgin Trains Midland Scot', - 'Virgin Trains Pines Express', - 'Virgin Trains Sussex Scot', - 'Virgin Trains Wessex Scot', - 'Virgin Voyager', - 'wagon', - 'Wales and Borders', - 'Wales and West', - 'Wales and West Alphaline', - 'Wales and West Weymouth Sand and Cycle Explorer', - 'Wessex', - 'West Anglia', - 'West Anglia Great Northern Railway', - 'West Anglia Great Northern Railways', - 'West Coast Railway Company', - 'White Rose', - 'Yorkshire Pullman', - ] as const + readonly AVAILABLE_TOCS = { + withServiceToFrom: [ + 'a replacement bus', + 'additional', + 'additional Chiltern Railways', + 'additional football special', + 'Alphaline', + 'Anglia Railways', + 'Anglia Railways Train', + 'Arriva CrossCountry', + 'Arriva Trains Merseyside', + 'Arriva Trains Northern', + 'Arriva Trains Wales', + 'Blackheath and Woolwich', + 'Blackheath and Woolwich Arsenal', + 'Blackheath and Woolwich Arsenal Line', + 'c2c', + 'c2c Rail', + 'Cardiff Railways', + 'Central Trains', + 'Charter', + 'Chiltern Line', + 'Chiltern Railway Company', + 'Chiltern Railways', + 'Chiselhurst and Maidstone East', + 'Chiselhurst and Maidstone East Line', + 'Chiselhurst Sevenoaks and Canterbury West', + 'Chiselhurst Sevenoaks and Canterbury West Line', + 'Connex', + 'Connex Express', + 'Connex Metro', + 'Connex Racecourse Special', + 'Connex Rail', + 'Connex South Central', + 'Connex South Eastern', + 'Country', + 'CrossCountry', + 'diverted', + 'East Midlands', + 'Eurostar', + 'express', + 'First Capital Connect', + 'First Great Western', + 'First Great Western Adelante', + 'First Great Western Atlantic Coast Express', + 'First Great Western Bristolian', + 'First Great Western Cathedrals Express', + 'First Great Western Cheltenham Flier', + 'First Great Western Cheltenham Spa Express', + 'First Great Western Cornish Riviera', + 'First Great Western Devon Belle', + 'First Great Western Golden Hind', + 'First Great Western Hibernian', + 'First Great Western High Speed', + 'First Great Western Intercity', + 'First Great Western Link', + 'First Great Western Mayflower', + 'First Great Western Merchant Venturer', + 'First Great Western Motorail', + 'First Great Western Night Riviera', + 'First Great Western Pembroke Coast Express', + 'First Great Western Red Dragon', + 'First Great Western Royal Duchy', + 'First Great Western Royal Wessex', + 'First Great Western St David', + 'First Great Western Torbay Express', + 'First Transpennine Express', + 'First Transpennine Service', + 'football special', + 'for seat reservations holders only', + 'Gatwick Express', + 'GNER', + 'Grand Central', + 'Great Eastern', + 'Great Eastern Railway', + 'Great North Eastern Railway', + 'Great North Eastern Railways', + 'Great North Eastern Railways White Rose', + 'Great North Eastern Railways Yorkshire Pullman', + 'Great Northern', + 'Great Western', + 'Heathrow Express', + 'Holidaymaker', + 'Holidaymaker Express', + 'Hull Trains', + 'Island Line', + 'London Midland', + 'London Midland City', + 'London Midland Express', + 'London Overground', + 'London Transport Buses', + 'London Underground', + 'LTS Rail', + 'Maidstone East and Ashford International Line', + 'Maidstone East and Ashford Line', + 'Maidstone East and Canterbury West Line', + 'Maidstone East and Dover Priory Line', + 'Merseyside Electrics', + 'Midland Mainline', + 'Midland Mainline High Speed Train', + 'Midland Mainline Turbostar', + 'National Express', + 'National Express East Coast', + 'New Southern Railway', + 'New Southern Railway Brighton Express', + 'North London Railway', + 'Northern', + 'Northern Rail', + 'Northern Spirit', + 'One', + 'One Anglia', + 'Orient Express', + 'private charter train', + 'Racecourse Special', + 'replacement bus', + 'return charter train', + 'rugby special', + 'ScotRail', + 'ScotRail Railways', + 'Silverlink County', + 'Silverlink Metro', + 'South Central', + 'South Central Trains', + 'South West Trains', + 'Southeastern', + 'Southeastern Trains', + 'Southern', + 'Southern Railway', + 'Southern Railway Brighton Express', + 'special charter', + 'Stansted Express', + 'steam charter train', + 'stopping', + 'Tarka Line', + 'Thames Trains', + 'Thameslink', + 'Thameslink City Flier', + 'Thameslink City Metro', + 'The Mid Hants Steam Railway', + 'The National Express East Coast', + 'The Swanage Railway', + 'The Watercress Line', + 'The Yorkshire Pullman', + 'Tramlink', + 'Tyne and Wear Metro', + 'Valley Lines', + 'Virgin Pendolino', + 'Virgin Trains', + 'Virgin Trains Armada', + 'Virgin Trains Cornish Scot', + 'Virgin Trains Cornishman', + 'Virgin Trains Cross Country', + 'Virgin Trains Devon Scot', + 'Virgin Trains Devonian', + 'Virgin Trains Dorset Scot', + 'Virgin Trains Midland Scot', + 'Virgin Trains Pines Express', + 'Virgin Trains Sussex Scot', + 'Virgin Trains Wessex Scot', + 'Virgin Voyager', + 'WAGN', + 'Wales and Borders', + 'Wales and West', + 'Wales and West Alphaline', + 'Wales and West Weymouth Sand and Cycle Explorer', + 'Wessex', + 'West Anglia', + 'West Anglia Great Northern Railway', + 'West Anglia Great Northern Railways', + 'West Coast Railway Company', + 'White Rose', + 'Yorkshire Pullman', + ], + standaloneOnly: [ + 'Channel Tunnel Rail Link', + 'Chiltern Railway company', + 'Croydon Tramlink', + 'First Transpennine', + 'intercity charter train', + 'international', + 'mainline', + 'North London Railways', + 'North Western Trains', + 'Regional Railways charter train', + 'ScotRail Express', + 'South London Metro', + 'Sussex Scot', + 'Transpennine', + 'Transpennine Express', + 'Virgin Trains the Sussex Scot', + 'West Yorkshire metro train', + ], + } + + readonly ALL_AVAILABLE_TOCS = [...this.AVAILABLE_TOCS.standaloneOnly, ...this.AVAILABLE_TOCS.withServiceToFrom].sort((a, b) => + a.localeCompare(b), + ) private async getFilesForBasicTrainInfo( hour: string, @@ -434,14 +458,29 @@ export default class KeTechPhil extends StationAnnouncementSystem { terminatingStation: string, callingPoints: CallingAtPoint[], ): Promise { - const files: AudioItem[] = [ - `hour.s.${hour}`, - `mins.m.${min}`, - { - id: toc === '' ? `m.service to` : `toc.m.${toc.toLowerCase()} service to`, - opts: { delayStart: toc === '' ? 50 : 150 }, - }, - ] + const files: AudioItem[] = [`hour.s.${hour}`, `mins.m.${min}`] + + if (toc === '') { + files.push({ + id: `m.service to`, + opts: { delayStart: 50 }, + }) + } else { + if (this.AVAILABLE_TOCS.standaloneOnly.some(x => x.toLowerCase() === toc.toLowerCase())) { + files.push( + { + id: `toc.m.${toc.toLowerCase()}`, + opts: { delayStart: 150 }, + }, + 'm.service to', + ) + } else { + files.push({ + id: `toc.m.${toc.toLowerCase()} service to`, + opts: { delayStart: 150 }, + }) + } + } const dividesAt = callingPoints.find(s => s.splitType === 'splitTerminates' || s.splitType === 'splits') @@ -3663,7 +3702,7 @@ export default class KeTechPhil extends StationAnnouncementSystem { toc: { name: 'TOC', default: '', - options: [{ title: 'None', value: '' }].concat(this.AVAILABLE_TOCS.map(m => ({ title: m, value: m.toLowerCase() }))), + options: [{ title: 'None', value: '' }].concat(this.ALL_AVAILABLE_TOCS.map(m => ({ title: m, value: m.toLowerCase() }))), type: 'select', }, terminatingStationCode: { @@ -4014,7 +4053,7 @@ function LiveTrainAnnouncements({ nextTrainHandler, system }: LiveTrainAnnouncem hour: h === '00' ? '00 - midnight' : h, min: m === '00' ? '00 - hundred' : m, isDelayed: delayMins > 5, - toc: system.AVAILABLE_TOCS.find(t => t.toLowerCase() === firstUnannounced.operator.toLowerCase()) ?? '', + toc: system.ALL_AVAILABLE_TOCS.find(t => t.toLowerCase() === firstUnannounced.operator.toLowerCase()) ?? '', coaches: firstUnannounced.length ? `${firstUnannounced.length} coaches` : null, platform: system.platforms.includes(firstUnannounced.platform.toLowerCase()) ? firstUnannounced.platform.toLowerCase() : '1', terminatingStationCode: firstUnannounced.destination[0].crs, diff --git a/static/audio/station/ketech/phil/toc/e/transpennine express.mp3 b/static/audio/station/ketech/phil/toc/e/transpennine express.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..f698148429dc22155e1efd9abd3fd9dd3dd1422c GIT binary patch literal 16992 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 &Q<0L8Q-5z%njS6 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�M3 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 literal 0 HcmV?d00001