= { id: data.id };
- if (field === 'durationOverride' && data.type === SupportedEvent.Event) {
- // duration defines timeEnd
- newData.duration = value as number;
- newData.timeEnd = data.timeStart + (value as number);
- updateEvent(newData);
- } else if (field === 'timeStart' && data.type === SupportedEvent.Event) {
- newData.duration = calculateDuration(value as number, data.timeEnd);
- newData.timeStart = value as number;
- updateEvent(newData);
- } else if (field === 'timeEnd' && data.type === SupportedEvent.Event) {
- newData.duration = calculateDuration(data.timeStart, value as number);
- newData.timeEnd = value as number;
- updateEvent(newData);
- } else if (field in data) {
- // @ts-expect-error not sure how to type this
- newData[field] = value;
- updateEvent(newData);
- } else {
- emitError(`Unknown field: ${field}`);
+ if (field === 'durationOverride' && data.type === SupportedEvent.Event) {
+ // duration defines timeEnd
+ newData.duration = value as number;
+ newData.timeEnd = data.timeStart + (value as number);
+ updateEvent(newData);
+ } else if (field === 'timeStart' && data.type === SupportedEvent.Event) {
+ newData.duration = calculateDuration(value as number, data.timeEnd);
+ newData.timeStart = value as number;
+ updateEvent(newData);
+ } else if (field === 'timeEnd' && data.type === SupportedEvent.Event) {
+ newData.duration = calculateDuration(data.timeStart, value as number);
+ newData.timeEnd = value as number;
+ updateEvent(newData);
+ } else if (field in data) {
+ // @ts-expect-error not sure how to type this
+ newData[field] = value;
+ updateEvent(newData);
+ } else {
+ emitError(`Unknown field: ${field}`);
+ }
+ break;
}
- break;
+ default:
+ throw new Error(`Unhandled event ${action}`);
}
- default:
- throw new Error(`Unhandled event ${action}`);
- }
- }, []);
+ },
+ [
+ addEvent,
+ data,
+ defaultPublic,
+ deleteEvent,
+ emitError,
+ openId,
+ previousEventId,
+ removeOpenEvent,
+ startTimeIsLastEnd,
+ updateEvent,
+ ],
+ );
if (data.type === SupportedEvent.Event) {
return (
@@ -123,6 +137,8 @@ export default function RundownEntry(props: RundownEntryProps) {
eventIndex={eventIndex + 1}
eventId={data.id}
isPublic={data.isPublic}
+ endAction={data.endAction}
+ timerType={data.timerType}
title={data.title}
note={data.note}
delay={delay}
diff --git a/apps/client/src/features/rundown/event-block/EventBlock.module.scss b/apps/client/src/features/rundown/event-block/EventBlock.module.scss
index 76b5e5d6d..858c41e49 100644
--- a/apps/client/src/features/rundown/event-block/EventBlock.module.scss
+++ b/apps/client/src/features/rundown/event-block/EventBlock.module.scss
@@ -154,15 +154,24 @@
grid-area: status;
display: flex;
justify-content: flex-end;
+ align-items: center;
gap: 8px;
+ .tag {
+ font-size: 0.55em;
+ color: $active-indicator;
+ }
+
.statusIcon {
width: 16px;
height: 16px;
- color: $gray-1000;
+ color: $gray-500;
}
.statusIcon.active {
- color: $ui-white;
+ color: $active-indicator;
+ }
+ .statusIcon.disabled {
+ color: $gray-1000;
}
}
diff --git a/apps/client/src/features/rundown/event-block/EventBlock.tsx b/apps/client/src/features/rundown/event-block/EventBlock.tsx
index b2910c1a3..24fa6fe1d 100644
--- a/apps/client/src/features/rundown/event-block/EventBlock.tsx
+++ b/apps/client/src/features/rundown/event-block/EventBlock.tsx
@@ -2,7 +2,7 @@ import { useEffect, useLayoutEffect, useRef, useState } from 'react';
import { useSortable } from '@dnd-kit/sortable';
import { CSS } from '@dnd-kit/utilities';
import { IoReorderTwo } from '@react-icons/all-files/io5/IoReorderTwo';
-import { OntimeEvent, Playback } from 'ontime-types';
+import { EndAction, OntimeEvent, Playback, TimerType } from 'ontime-types';
import { useCursor } from '../../../common/stores/cursorStore';
import { useEventEditorStore } from '../../../common/stores/eventEditor';
@@ -21,6 +21,8 @@ interface EventBlockProps {
eventIndex: number;
eventId: string;
isPublic: boolean;
+ endAction: EndAction;
+ timerType: TimerType;
title: string;
note: string;
delay: number;
@@ -51,6 +53,8 @@ export default function EventBlock(props: EventBlockProps) {
eventIndex,
eventId,
isPublic = true,
+ endAction,
+ timerType,
title,
note,
delay,
@@ -143,6 +147,8 @@ export default function EventBlock(props: EventBlockProps) {
duration={duration}
eventId={eventId}
isPublic={isPublic}
+ endAction={endAction}
+ timerType={timerType}
title={title}
note={note}
delay={delay}
diff --git a/apps/client/src/features/rundown/event-block/EventBlockInner.tsx b/apps/client/src/features/rundown/event-block/EventBlockInner.tsx
index cd9474ecf..b135d5ad8 100644
--- a/apps/client/src/features/rundown/event-block/EventBlockInner.tsx
+++ b/apps/client/src/features/rundown/event-block/EventBlockInner.tsx
@@ -1,14 +1,20 @@
import { memo, useCallback, useEffect, useState } from 'react';
import { Editable, EditableInput, EditablePreview, Tooltip } from '@chakra-ui/react';
+import { IoCaretDownCircle } from '@react-icons/all-files/io5/IoCaretDownCircle';
+import { IoCaretUpCircle } from '@react-icons/all-files/io5/IoCaretUpCircle';
import { IoOptions } from '@react-icons/all-files/io5/IoOptions';
import { IoPeople } from '@react-icons/all-files/io5/IoPeople';
import { IoPlay } from '@react-icons/all-files/io5/IoPlay';
+import { IoPlayCircle } from '@react-icons/all-files/io5/IoPlayCircle';
+import { IoPlayForwardCircle } from '@react-icons/all-files/io5/IoPlayForwardCircle';
import { IoPlayOutline } from '@react-icons/all-files/io5/IoPlayOutline';
-import { IoPlaySkipForward } from '@react-icons/all-files/io5/IoPlaySkipForward';
+import { IoPlaySkipForwardCircle } from '@react-icons/all-files/io5/IoPlaySkipForwardCircle';
import { IoReload } from '@react-icons/all-files/io5/IoReload';
import { IoRemoveCircle } from '@react-icons/all-files/io5/IoRemoveCircle';
import { IoRemoveCircleOutline } from '@react-icons/all-files/io5/IoRemoveCircleOutline';
-import { Playback } from 'ontime-types';
+import { IoStopCircle } from '@react-icons/all-files/io5/IoStopCircle';
+import { IoTime } from '@react-icons/all-files/io5/IoTime';
+import { EndAction, Playback, TimerType } from 'ontime-types';
import TooltipActionBtn from '../../../common/components/buttons/TooltipActionBtn';
import { useEventAction } from '../../../common/hooks/useEventAction';
@@ -38,6 +44,8 @@ interface EventBlockInnerProps {
duration: number;
eventId: string;
isPublic: boolean;
+ endAction: EndAction;
+ timerType: TimerType;
title: string;
note: string;
delay: number;
@@ -57,6 +65,8 @@ const EventBlockInner = (props: EventBlockInnerProps) => {
duration,
eventId,
isPublic = true,
+ endAction,
+ timerType,
title,
note,
delay,
@@ -180,14 +190,24 @@ const EventBlockInner = (props: EventBlockInnerProps) => {
{selected && }
-
+ {next && (
+
+ NEXT
+
+ )}
+
-
+
+
+
+
+
+
-
+
@@ -212,3 +232,28 @@ const EventBlockInner = (props: EventBlockInnerProps) => {
};
export default memo(EventBlockInner);
+
+function EndActionIcon(props: { action: EndAction; className: string }) {
+ const { action, className } = props;
+ if (action === EndAction.LoadNext) {
+ return ;
+ }
+ if (action === EndAction.PlayNext) {
+ return ;
+ }
+ if (action === EndAction.Stop) {
+ return ;
+ }
+ return ;
+}
+
+function TimerIcon(props: { type: TimerType; className: string }) {
+ const { type, className } = props;
+ if (type === TimerType.CountUp) {
+ return ;
+ }
+ if (type === TimerType.Clock) {
+ return ;
+ }
+ return ;
+}
diff --git a/apps/client/src/theme/ontimeSelect.ts b/apps/client/src/theme/ontimeSelect.ts
index 7ae243706..17f799439 100644
--- a/apps/client/src/theme/ontimeSelect.ts
+++ b/apps/client/src/theme/ontimeSelect.ts
@@ -3,7 +3,7 @@ export const ontimeSelect = {
color: '#e2e2e2', // $gray-200
borderRadius: '3px',
fontWeight: '400',
- background: '#262626', // $gray-1100
+ background: '#262626', // $gray-1100
border: '1px solid transparent',
_hover: {
background: '#404040', // $gray-1000
diff --git a/apps/electron/package.json b/apps/electron/package.json
index 8a2e4a5fa..0acfda26e 100644
--- a/apps/electron/package.json
+++ b/apps/electron/package.json
@@ -95,6 +95,20 @@
"!**/{mock,mocks,__mock__,__mocks__}",
"!*{.spec.js,*.test.js,*.spec.ts,.test.ts}"
]
+ },
+ {
+ "from": "../server/src/preloaded-db/",
+ "to": "extraResources/preloaded-db/",
+ "filter": [
+ "**/*"
+ ]
+ },
+ {
+ "from": "../server/src/external/",
+ "to": "extraResources/external/",
+ "filter": [
+ "**/*"
+ ]
}
]
}
diff --git a/apps/server/src/app.ts b/apps/server/src/app.ts
index 47e271fc2..7e3a6d69e 100644
--- a/apps/server/src/app.ts
+++ b/apps/server/src/app.ts
@@ -7,7 +7,7 @@ import cors from 'cors';
import { join, resolve } from 'path';
import { initSentry, reportSentryException } from './modules/sentry.js';
-import { currentDirectory, environment, isProduction, resolvedPath } from './setup.js';
+import { currentDirectory, environment, externalsStartDirectory, isProduction, resolvedPath } from './setup.js';
import { ONTIME_VERSION } from './ONTIME_VERSION.js';
import { OSCSettings } from 'ontime-types';
@@ -61,7 +61,7 @@ app.use('/ontime', ontimeRouter);
app.use('/playback', playbackRouter);
// serve static - css
-app.use('/external', express.static(join(currentDirectory, 'external')));
+app.use('/external', express.static(externalsStartDirectory));
// serve static - react, in test mode we fetch the React app from module
app.use(express.static(join(currentDirectory, resolvedPath())));
diff --git a/apps/server/src/services/TimerService.ts b/apps/server/src/services/TimerService.ts
index baeac9072..3437c8b6c 100644
--- a/apps/server/src/services/TimerService.ts
+++ b/apps/server/src/services/TimerService.ts
@@ -307,15 +307,17 @@ export class TimerService {
_onFinish() {
eventStore.set('timer', this.timer);
integrationService.dispatch(TimerLifeCycle.onFinish);
- if (this.timer.endAction === EndAction.Stop) {
- PlaybackService.stop();
- } else if (this.timer.endAction === EndAction.LoadNext) {
- // we need to delay here to put this action in the queue stack. otherwise it won't be executed properly
- setTimeout(() => {
- PlaybackService.loadNext();
- }, 0);
- } else if (this.timer.endAction === EndAction.PlayNext) {
- PlaybackService.startNext();
+ if (this.playback === Playback.Play) {
+ if (this.timer.endAction === EndAction.Stop) {
+ PlaybackService.stop();
+ } else if (this.timer.endAction === EndAction.LoadNext) {
+ // we need to delay here to put this action in the queue stack. otherwise it won't be executed properly
+ setTimeout(() => {
+ PlaybackService.loadNext();
+ }, 0);
+ } else if (this.timer.endAction === EndAction.PlayNext) {
+ PlaybackService.startNext();
+ }
}
}
diff --git a/apps/server/src/setup.ts b/apps/server/src/setup.ts
index 2c3d9135f..f31e72b81 100644
--- a/apps/server/src/setup.ts
+++ b/apps/server/src/setup.ts
@@ -66,10 +66,14 @@ if (import.meta.url) {
// path to server src folder
export const currentDirectory = dirname(__dirname);
-const appPath = isTest ? '../' : getAppDataPath();
+const testDbStartDirectory = isTest ? '../' : getAppDataPath();
+export const externalsStartDirectory = isProduction ? getAppDataPath() : join(currentDirectory, 'external');
// path to public db
-export const resolveDbDirectory = join(appPath, isTest ? config.database.testdb : config.database.directory);
+export const resolveDbDirectory = join(
+ testDbStartDirectory,
+ isTest ? config.database.testdb : config.database.directory,
+);
export const resolveDbPath = join(resolveDbDirectory, config.database.filename);
export const pathToStartDb = isTest
@@ -77,7 +81,7 @@ export const pathToStartDb = isTest
: join(currentDirectory, '/preloaded-db/', config.database.filename);
// path to public styles
-export const resolveStylesDirectory = join(appPath, config.styles.directory);
+export const resolveStylesDirectory = join(externalsStartDirectory, config.styles.directory);
export const resolveStylesPath = join(resolveStylesDirectory, config.styles.filename);
export const pathToStartStyles = join(currentDirectory, '/external/styles/', config.styles.filename);
diff --git a/apps/server/src/utils/getRandomName.js b/apps/server/src/utils/getRandomName.js
index 2cff4ffd6..595f07485 100644
--- a/apps/server/src/utils/getRandomName.js
+++ b/apps/server/src/utils/getRandomName.js
@@ -1,2749 +1,148 @@
const adjective = [
- 'academic',
- 'acclaimed',
- 'accomplished',
- 'accurate',
- 'acrobatic',
- 'active',
- 'adaptable',
- 'adorable',
- 'adventurous',
- 'adept',
- 'admirable',
- 'admired',
- 'adolescent',
- 'adorable',
- 'adored',
- 'advanced',
- 'afraid',
- 'affectionate',
- 'agile',
- 'agitated',
- 'agreeable',
- 'ajar',
- 'alarmed',
- 'alert',
- 'alienated',
- 'alive',
- 'all',
- 'altruistic',
- 'amazing',
- 'ambitious',
- 'ample',
- 'amused',
- 'amusing',
- 'anchored',
- 'ancient',
- 'angelic',
- 'angry',
- 'anguished',
- 'animated',
- 'annual',
- 'another',
- 'antique',
- 'any',
- 'apprehensive',
- 'appropriate',
- 'apt',
- 'arctic',
- 'aromatic',
+ 'ambient',
+ 'analog',
'artistic',
- 'ashamed',
- 'assured',
- 'astonishing',
- 'athletic',
- 'attached',
- 'attentive',
- 'attractive',
- 'austere',
- 'authentic',
- 'authorized',
- 'automatic',
- 'avaricious',
- 'aware',
- 'awesome',
- 'bad',
- 'back',
- 'bare',
- 'barren',
- 'beautiful',
- 'belated',
- 'beloved',
- 'beneficial',
- 'better',
- 'best',
- 'bewitched',
- 'big',
- 'big-hearted',
- 'biodegradable',
- 'bite-sized',
- 'bitter',
- 'black',
- 'black-and-white',
- 'bland',
- 'blank',
- 'blaring',
- 'bleak',
- 'blind',
- 'blissful',
- 'blond',
- 'blue',
- 'blushing',
- 'bogus',
- 'boiling',
- 'bold',
- 'bony',
- 'bossy',
- 'both',
- 'bouncy',
- 'bountiful',
- 'bowed',
- 'brave',
- 'breakable',
- 'brief',
+ 'binaural',
'bright',
- 'brilliant',
- 'brisk',
- 'broken',
- 'bronze',
- 'brown',
- 'bubbly',
- 'bulky',
- 'bumpy',
- 'buoyant',
- 'burly',
- 'bustling',
- 'busy',
- 'buttery',
- 'buzzing',
- 'calculating',
- 'calm',
- 'candid',
- 'canine',
- 'capital',
- 'carefree',
- 'careful',
- 'careless',
- 'caring',
- 'cautious',
- 'cavernous',
- 'celebrated',
- 'charming',
- 'cheap',
- 'cheerful',
- 'cheery',
- 'chief',
- 'chilly',
- 'chubby',
- 'circular',
- 'classic',
+ 'cinematic',
'clean',
- 'clear',
- 'clear-cut',
- 'clever',
- 'close',
- 'closed',
- 'cloudy',
- 'clueless',
- 'clumsy',
- 'cluttered',
- 'coarse',
- 'cold',
- 'colorful',
- 'colorless',
- 'colossal',
- 'comfortable',
- 'common',
- 'compassionate',
- 'competent',
- 'complete',
- 'complex',
- 'complicated',
- 'composed',
- 'concerned',
- 'concrete',
- 'confused',
- 'conscious',
- 'considerate',
- 'constant',
- 'content',
- 'conventional',
- 'cooked',
'cool',
- 'cooperative',
- 'coordinated',
- 'corny',
- 'costly',
- 'courageous',
- 'courteous',
- 'crafty',
- 'crazy',
- 'creamy',
- 'creative',
'crisp',
- 'critical',
- 'crooked',
- 'crowded',
- 'cruel',
- 'crushing',
- 'cuddly',
- 'cultivated',
- 'cultured',
- 'cumbersome',
- 'curly',
- 'curvy',
- 'cute',
- 'cylindrical',
- 'damp',
- 'dangerous',
- 'dapper',
- 'daring',
- 'darling',
'dark',
- 'dazzling',
- 'dead',
- 'deadly',
- 'deafening',
- 'dear',
- 'dearest',
- 'decent',
- 'decimal',
- 'decisive',
'deep',
- 'defensive',
- 'defiant',
- 'definite',
- 'definitive',
- 'delayed',
- 'delectable',
- 'delicious',
- 'delightful',
- 'delirious',
- 'demanding',
- 'dense',
- 'dependable',
- 'dependent',
- 'descriptive',
- 'deserted',
- 'detailed',
- 'determined',
- 'devoted',
- 'different',
- 'digital',
- 'diligent',
- 'dim',
- 'dimpled',
- 'discrete',
- 'dismal',
- 'distant',
- 'downright',
- 'dreary',
- 'disguised',
- 'dismal',
- 'distant',
- 'distinct',
- 'dizzy',
- 'dopey',
- 'doting',
- 'double',
- 'downright',
- 'drab',
- 'drafty',
- 'dramatic',
- 'dreary',
- 'droopy',
- 'dry',
- 'dual',
- 'dutiful',
- 'each',
- 'eager',
- 'earnest',
- 'early',
- 'easy',
- 'easy-going',
- 'ecstatic',
- 'edible',
- 'educated',
- 'elaborate',
- 'elastic',
- 'elated',
- 'elderly',
+ 'distorted',
+ 'dreamy',
+ 'dynamic',
'electric',
- 'elegant',
- 'elementary',
- 'elliptical',
- 'embarrassed',
- 'embellished',
- 'eminent',
- 'emotional',
- 'empty',
- 'enchanted',
- 'enchanting',
- 'energetic',
- 'enlightened',
- 'enormous',
- 'enraged',
- 'entire',
- 'envious',
- 'equal',
- 'equatorial',
- 'essential',
- 'esteemed',
- 'ethical',
- 'euphoric',
- 'even',
- 'evergreen',
- 'everlasting',
- 'every',
- 'evil',
- 'exalted',
- 'excellent',
- 'exemplary',
- 'exhausted',
- 'excitable',
- 'excited',
- 'exciting',
- 'exotic',
- 'expensive',
- 'experienced',
- 'expert',
- 'extraneous',
- 'extroverted',
- 'extra-large',
- 'extra-small',
- 'fabulous',
- 'failing',
- 'faint',
- 'fair',
- 'faithful',
- 'fake',
- 'false',
- 'familiar',
- 'famous',
- 'fancy',
- 'fantastic',
- 'far',
- 'faraway',
- 'far-flung',
- 'far-off',
- 'fast',
- 'fatherly',
- 'favorable',
- 'favorite',
- 'fearful',
- 'fearless',
- 'feisty',
- 'feline',
- 'female',
- 'feminine',
- 'few',
- 'fickle',
- 'filthy',
- 'fine',
- 'finished',
- 'firm',
- 'first',
- 'firsthand',
- 'fitting',
- 'fixed',
- 'flaky',
- 'flamboyant',
- 'flashy',
- 'flat',
- 'flawed',
- 'flawless',
+ 'explosive',
'flickering',
- 'flimsy',
- 'flippant',
- 'flowery',
- 'fluffy',
'fluid',
- 'flustered',
- 'focused',
- 'fond',
- 'foolhardy',
- 'foolish',
- 'forceful',
- 'forked',
- 'formal',
- 'forsaken',
- 'forthright',
- 'fortunate',
- 'fragrant',
- 'frail',
- 'frank',
- 'frayed',
- 'free',
- 'French',
- 'fresh',
- 'frequent',
- 'friendly',
- 'frightened',
- 'frightening',
- 'frigid',
- 'frilly',
- 'frizzy',
- 'frivolous',
- 'front',
- 'frosty',
- 'frozen',
- 'frugal',
- 'fruitful',
- 'full',
- 'fumbling',
- 'functional',
- 'funny',
- 'fussy',
- 'fuzzy',
- 'gargantuan',
- 'gaseous',
- 'general',
- 'generous',
- 'gentle',
- 'genuine',
- 'giant',
- 'giddy',
- 'gigantic',
- 'gifted',
- 'giving',
- 'glamorous',
- 'glaring',
- 'glass',
- 'gleaming',
- 'gleeful',
- 'glistening',
- 'glittering',
- 'gloomy',
- 'glorious',
- 'glossy',
- 'glum',
- 'golden',
- 'good',
- 'good-natured',
- 'gorgeous',
- 'graceful',
- 'gracious',
- 'grand',
- 'grandiose',
- 'granular',
- 'grateful',
- 'grave',
- 'gray',
- 'great',
- 'greedy',
- 'green',
- 'grim',
- 'grimy',
- 'gripping',
- 'grizzled',
- 'grouchy',
- 'grounded',
- 'growing',
- 'growling',
- 'grown',
- 'grubby',
- 'grumpy',
- 'guilty',
- 'gullible',
- 'gummy',
- 'hairy',
- 'half',
- 'handmade',
- 'handsome',
- 'handy',
- 'happy',
- 'happy-go-lucky',
- 'hard',
- 'hard-to-find',
- 'harmful',
- 'harmless',
+ 'glitchy',
+ 'glowing',
'harmonious',
- 'harsh',
- 'hasty',
- 'haunting',
- 'healthy',
- 'heartfelt',
- 'hearty',
- 'heavenly',
- 'heavy',
- 'hefty',
- 'helpful',
- 'helpless',
- 'hidden',
- 'hideous',
- 'high',
- 'high-level',
- 'hilarious',
- 'hoarse',
- 'hollow',
- 'homely',
- 'honest',
- 'honorable',
- 'honored',
- 'hopeful',
- 'hospitable',
- 'hot',
- 'huge',
- 'humble',
- 'humming',
- 'humongous',
- 'hungry',
- 'husky',
- 'icky',
- 'icy',
- 'ideal',
- 'idealistic',
- 'identical',
- 'idle',
- 'idiotic',
- 'idolized',
- 'ignorant',
- 'illegal',
- 'illiterate',
- 'illustrious',
- 'imaginary',
- 'imaginative',
- 'immaculate',
- 'immaterial',
- 'immediate',
- 'immense',
- 'impassioned',
- 'impeccable',
- 'impartial',
- 'imperfect',
- 'imperturbable',
- 'impish',
- 'important',
- 'impossible',
- 'impressionable',
- 'impressive',
- 'improbable',
- 'incomparable',
- 'incompatible',
- 'incomplete',
- 'inconsequential',
- 'incredible',
- 'indelible',
- 'inexperienced',
- 'indolent',
- 'infamous',
- 'infantile',
- 'infatuated',
- 'inferior',
- 'infinite',
- 'informal',
- 'innocent',
- 'insecure',
- 'insidious',
- 'insistent',
- 'instructive',
- 'insubstantial',
- 'intelligent',
- 'intent',
- 'intentional',
- 'interesting',
- 'internal',
- 'international',
- 'intrepid',
- 'ironclad',
- 'irresponsible',
- 'irritating',
- 'itchy',
- 'jaded',
- 'jagged',
- 'jam-packed',
- 'jaunty',
- 'jealous',
- 'jittery',
- 'joint',
- 'jolly',
- 'jovial',
- 'joyful',
- 'joyous',
- 'jubilant',
- 'judicious',
- 'juicy',
- 'jumbo',
- 'junior',
- 'jumpy',
- 'juvenile',
- 'kaleidoscopic',
- 'keen',
- 'key',
- 'kind',
- 'kindhearted',
- 'kindly',
- 'klutzy',
- 'knobby',
- 'knotty',
- 'knowledgeable',
- 'knowing',
- 'known',
- 'kooky',
- 'kosher',
- 'lanky',
- 'large',
- 'last',
- 'lasting',
- 'late',
- 'lavish',
- 'lawful',
- 'lazy',
- 'leading',
- 'lean',
- 'leafy',
- 'left',
- 'legal',
- 'legitimate',
- 'light',
- 'lighthearted',
- 'likable',
- 'likely',
- 'limited',
- 'limp',
- 'limping',
- 'linear',
- 'lined',
- 'liquid',
- 'little',
- 'live',
- 'lively',
- 'livid',
- 'loathsome',
- 'lone',
- 'lonely',
- 'long',
- 'long-term',
- 'loose',
- 'lopsided',
- 'lost',
- 'loud',
- 'lovable',
- 'lovely',
- 'loving',
- 'low',
- 'loyal',
- 'lucky',
- 'lumbering',
- 'luminous',
- 'lumpy',
- 'lustrous',
- 'luxurious',
- 'mad',
- 'made-up',
- 'magnificent',
- 'majestic',
- 'major',
- 'male',
- 'mammoth',
- 'married',
- 'marvelous',
- 'masculine',
- 'massive',
- 'mature',
- 'meager',
- 'mealy',
- 'mean',
- 'measly',
- 'meaty',
- 'medical',
- 'mediocre',
- 'medium',
- 'meek',
+ 'hazy',
+ 'intense',
+ 'low-fi',
'mellow',
'melodic',
- 'memorable',
- 'menacing',
- 'merry',
- 'messy',
'metallic',
- 'mild',
- 'milky',
- 'mindless',
- 'miniature',
- 'minor',
- 'minty',
- 'miserly',
- 'misty',
- 'mixed',
- 'modern',
- 'modest',
- 'moist',
- 'monstrous',
- 'monthly',
- 'monumental',
- 'moral',
- 'mortified',
- 'motherly',
- 'motionless',
- 'mountainous',
- 'muddy',
- 'muffled',
- 'multicolored',
- 'mundane',
- 'murky',
- 'mushy',
- 'musty',
+ 'moody',
'muted',
- 'mysterious',
- 'naive',
- 'narrow',
- 'nasty',
- 'natural',
- 'naughty',
- 'nautical',
- 'near',
- 'neat',
- 'necessary',
- 'needy',
- 'negative',
- 'neglected',
- 'negligible',
- 'neighboring',
- 'nervous',
- 'new',
- 'next',
- 'nice',
- 'nifty',
- 'nimble',
- 'nippy',
- 'nocturnal',
+ 'nostalgic',
'noisy',
- 'nonstop',
- 'normal',
- 'notable',
- 'noted',
- 'noteworthy',
- 'novel',
- 'noxious',
- 'nutritious',
- 'nutty',
- 'obedient',
- 'oblong',
- 'oily',
- 'oblong',
- 'obvious',
- 'occasional',
- 'odd',
- 'offbeat',
- 'offensive',
- 'official',
- 'old',
- 'old-fashioned',
- 'only',
- 'open',
- 'optimal',
- 'optimistic',
- 'opulent',
- 'orange',
- 'orderly',
'organic',
- 'ornate',
- 'ornery',
- 'ordinary',
- 'original',
- 'other',
- 'our',
- 'outlying',
- 'outgoing',
- 'outlandish',
- 'outrageous',
- 'outstanding',
- 'oval',
- 'overcooked',
- 'overdue',
- 'overjoyed',
- 'overlooked',
- 'palatable',
- 'pale',
- 'paltry',
- 'parallel',
- 'parched',
- 'partial',
- 'passionate',
- 'past',
- 'pastel',
- 'peaceful',
- 'peppery',
- 'perfect',
- 'perfumed',
- 'periodic',
- 'perky',
- 'personal',
- 'pertinent',
- 'pesky',
- 'petty',
- 'phony',
- 'physical',
- 'piercing',
- 'pink',
- 'pitiful',
- 'plain',
- 'plaintive',
- 'plastic',
- 'playful',
- 'pleasant',
- 'pleased',
- 'pleasing',
- 'plump',
- 'plush',
- 'polished',
- 'polite',
- 'political',
- 'pointed',
- 'pointless',
- 'poised',
- 'popular',
- 'portly',
- 'posh',
- 'positive',
- 'possible',
- 'potable',
+ 'panoramic',
+ 'percussive',
'powerful',
- 'powerless',
- 'practical',
- 'precious',
- 'present',
- 'prestigious',
- 'pretty',
- 'precious',
- 'previous',
- 'pricey',
- 'prickly',
- 'primary',
- 'prime',
- 'pristine',
- 'private',
- 'prize',
- 'probable',
- 'productive',
- 'profitable',
- 'profuse',
- 'proper',
- 'proud',
- 'prudent',
- 'punctual',
- 'pungent',
- 'puny',
- 'pure',
- 'purple',
- 'pushy',
- 'putrid',
- 'puzzled',
- 'puzzling',
- 'quaint',
- 'qualified',
- 'quarrelsome',
- 'quarterly',
- 'queasy',
- 'querulous',
- 'quick',
- 'quick-witted',
- 'quiet',
- 'quintessential',
+ 'psychedelic',
'quirky',
- 'quixotic',
- 'quizzical',
- 'radiant',
- 'ragged',
- 'rapid',
- 'rare',
- 'rash',
'raw',
- 'recent',
- 'reckless',
- 'rectangular',
- 'ready',
- 'real',
- 'realistic',
- 'reasonable',
- 'red',
- 'reflecting',
- 'regal',
- 'regular',
- 'reliable',
- 'relieved',
- 'remarkable',
- 'remote',
- 'repentant',
- 'required',
- 'respectful',
- 'responsible',
- 'repulsive',
- 'revolving',
- 'rewarding',
- 'rich',
- 'rigid',
- 'right',
- 'ringed',
- 'ripe',
- 'roasted',
- 'robust',
- 'rosy',
- 'rotating',
- 'rough',
- 'round',
- 'rowdy',
- 'royal',
- 'rubbery',
- 'rundown',
- 'ruddy',
- 'rude',
- 'runny',
- 'rural',
- 'rusty',
- 'sad',
- 'safe',
- 'same',
- 'sandy',
- 'sane',
- 'sarcastic',
- 'sardonic',
- 'satisfied',
- 'scaly',
- 'scarce',
- 'scared',
- 'scary',
- 'scented',
- 'scholarly',
- 'scientific',
- 'scornful',
- 'scratchy',
- 'scrawny',
- 'second',
- 'secondary',
- 'second-hand',
- 'secret',
- 'self-assured',
- 'self-reliant',
- 'selfish',
- 'sentimental',
- 'separate',
- 'serene',
- 'serious',
- 'serpentine',
- 'several',
- 'severe',
- 'shabby',
- 'shadowy',
- 'shady',
- 'shallow',
- 'shameless',
+ 'resonant',
+ 'retro',
'sharp',
'shimmering',
- 'shiny',
- 'shocked',
- 'shocking',
- 'shoddy',
- 'short',
- 'short-term',
- 'showy',
- 'shrill',
- 'shy',
- 'silent',
- 'silky',
- 'silly',
- 'silver',
- 'similar',
- 'simple',
- 'simplistic',
- 'sinful',
- 'single',
- 'sizzling',
- 'skeletal',
- 'skinny',
- 'sleepy',
- 'slight',
- 'slim',
- 'slippery',
- 'slow',
- 'slushy',
- 'small',
- 'smart',
- 'smoggy',
'smooth',
- 'smug',
- 'snappy',
- 'snarling',
- 'sneaky',
- 'sniveling',
- 'snoopy',
- 'sociable',
'soft',
- 'soggy',
- 'solid',
- 'somber',
- 'some',
- 'spherical',
- 'sophisticated',
- 'sorrowful',
'soulful',
- 'soupy',
- 'sour',
- 'Spanish',
'sparkling',
- 'sparse',
- 'specific',
- 'spectacular',
- 'speedy',
- 'spicy',
- 'spiffy',
- 'spirited',
- 'spiteful',
- 'splendid',
- 'spotless',
- 'spotted',
- 'spry',
- 'square',
- 'squeaky',
- 'squiggly',
- 'stable',
- 'staid',
- 'stained',
- 'stale',
- 'standard',
- 'starchy',
- 'stark',
- 'starry',
- 'steep',
- 'sticky',
- 'stiff',
- 'stimulating',
- 'stingy',
- 'stormy',
- 'straight',
- 'strange',
- 'steel',
- 'strict',
- 'strident',
- 'striking',
- 'striped',
- 'strong',
- 'studious',
- 'stunning',
- 'stupendous',
- 'stupid',
- 'sturdy',
- 'stylish',
- 'subdued',
- 'submissive',
- 'substantial',
+ 'spacious',
'subtle',
- 'suburban',
- 'sudden',
- 'sugary',
- 'sunny',
- 'super',
- 'superb',
- 'superficial',
- 'superior',
- 'supportive',
- 'sure-footed',
- 'surprised',
- 'suspicious',
- 'svelte',
- 'sweaty',
- 'sweet',
- 'sweltering',
- 'swift',
- 'sympathetic',
- 'tall',
- 'talkative',
- 'tame',
- 'tan',
- 'tangible',
- 'tart',
- 'tasty',
- 'tattered',
- 'taut',
- 'tedious',
- 'teeming',
- 'tempting',
- 'tender',
- 'tense',
- 'tepid',
- 'terrific',
- 'testy',
- 'thankful',
- 'that',
- 'these',
- 'thick',
- 'thin',
- 'third',
- 'thirsty',
- 'this',
- 'thorough',
- 'thorny',
- 'those',
- 'thoughtful',
- 'threadbare',
- 'thrifty',
- 'thunderous',
- 'tidy',
- 'tight',
- 'timely',
- 'tinted',
- 'tiny',
- 'tired',
- 'torn',
- 'total',
- 'tough',
- 'traumatic',
- 'treasured',
- 'tremendous',
- 'tragic',
- 'trained',
- 'tremendous',
- 'triangular',
- 'tricky',
- 'trifling',
- 'trim',
- 'trivial',
- 'troubled',
- 'true',
- 'trusting',
- 'trustworthy',
- 'trusty',
- 'truthful',
- 'tubby',
- 'turbulent',
- 'twin',
- 'ultimate',
- 'unacceptable',
- 'unaware',
- 'uncomfortable',
- 'uncommon',
- 'unconscious',
- 'understated',
- 'unequaled',
- 'uneven',
- 'unfinished',
- 'unfit',
- 'unfolded',
- 'unfortunate',
- 'unhappy',
- 'uniform',
- 'unimportant',
- 'unique',
- 'united',
- 'unkempt',
- 'unknown',
- 'unlined',
- 'unlucky',
- 'unnatural',
- 'unpleasant',
- 'unrealistic',
- 'unripe',
- 'unruly',
- 'unselfish',
- 'unsightly',
- 'unsteady',
- 'unsung',
- 'untidy',
- 'untimely',
- 'untried',
- 'untrue',
- 'unused',
- 'unusual',
- 'unwelcome',
- 'unwieldy',
- 'unwilling',
- 'unwitting',
- 'unwritten',
- 'upbeat',
- 'upright',
- 'upset',
- 'urban',
- 'usable',
- 'used',
- 'useful',
- 'utilized',
- 'utter',
- 'vacant',
- 'vague',
- 'vain',
- 'valid',
- 'valuable',
- 'vapid',
- 'variable',
- 'vast',
- 'velvety',
- 'venerated',
- 'vengeful',
- 'verifiable',
+ 'surround',
+ 'tilted',
+ 'uplifting',
'vibrant',
- 'vicious',
- 'victorious',
- 'vigilant',
- 'vigorous',
- 'villainous',
- 'violet',
- 'violent',
- 'virtual',
- 'virtuous',
- 'visible',
- 'vital',
- 'vivacious',
- 'vivid',
- 'voluminous',
- 'wan',
- 'warlike',
'warm',
- 'warmhearted',
- 'warped',
- 'wary',
- 'watchful',
- 'waterlogged',
- 'watery',
- 'wavy',
- 'wealthy',
- 'weak',
- 'weary',
- 'webbed',
- 'wee',
- 'weekly',
- 'weepy',
- 'weighty',
- 'weird',
- 'welcome',
- 'well-documented',
- 'well-groomed',
- 'well-informed',
- 'well-lit',
- 'well-made',
- 'well-off',
- 'well-to-do',
- 'well-worn',
- 'wet',
- 'which',
- 'whimsical',
- 'whirlwind',
- 'whispered',
- 'white',
- 'whole',
- 'whopping',
- 'wicked',
- 'wide',
- 'wide-eyed',
- 'wiggly',
- 'wild',
- 'willing',
- 'wilted',
- 'winding',
- 'windy',
- 'winged',
- 'wiry',
- 'wise',
- 'witty',
- 'wobbly',
- 'woeful',
- 'wonderful',
- 'wooden',
- 'woozy',
- 'wordy',
- 'worldly',
- 'worn',
- 'worried',
- 'worrisome',
- 'worse',
- 'worst',
- 'worthwhile',
- 'worthy',
- 'wrathful',
- 'wretched',
- 'writhing',
- 'wrong',
- 'wry',
- 'yawning',
- 'yearly',
- 'yellow',
- 'yellowish',
- 'young',
- 'youthful',
- 'yummy',
- 'zany',
- 'zealous',
- 'zesty',
- 'zigzag',
- 'rocky',
];
const object = [
- 'people',
- 'history',
- 'way',
- 'art',
- 'world',
- 'information',
- 'map',
- 'family',
- 'government',
- 'health',
- 'system',
- 'computer',
- 'meat',
- 'year',
- 'thanks',
- 'music',
- 'person',
- 'reading',
- 'method',
- 'data',
- 'food',
- 'understanding',
- 'theory',
- 'law',
- 'bird',
- 'literature',
- 'problem',
- 'software',
- 'control',
- 'knowledge',
- 'power',
- 'ability',
- 'economics',
- 'love',
- 'internet',
- 'television',
- 'science',
- 'library',
- 'nature',
- 'fact',
- 'product',
- 'idea',
- 'temperature',
- 'investment',
- 'area',
- 'society',
- 'activity',
- 'story',
- 'industry',
- 'media',
- 'thing',
- 'oven',
- 'community',
- 'definition',
- 'safety',
- 'quality',
- 'development',
- 'language',
- 'management',
- 'player',
- 'variety',
- 'video',
- 'week',
- 'security',
- 'country',
- 'exam',
- 'movie',
- 'organization',
- 'equipment',
- 'physics',
- 'analysis',
- 'policy',
- 'series',
- 'thought',
- 'basis',
- 'boyfriend',
- 'direction',
- 'strategy',
- 'technology',
- 'army',
- 'camera',
- 'freedom',
- 'paper',
- 'environment',
- 'child',
- 'instance',
- 'month',
- 'truth',
- 'marketing',
- 'university',
- 'writing',
- 'article',
- 'department',
- 'difference',
- 'goal',
- 'news',
- 'audience',
- 'fishing',
- 'growth',
- 'income',
- 'marriage',
- 'user',
- 'combination',
- 'failure',
- 'meaning',
- 'medicine',
- 'philosophy',
- 'teacher',
- 'communication',
- 'night',
- 'chemistry',
- 'disease',
- 'disk',
- 'energy',
- 'nation',
- 'road',
- 'role',
- 'soup',
- 'advertising',
- 'location',
- 'success',
- 'addition',
- 'apartment',
- 'education',
- 'math',
- 'moment',
- 'painting',
- 'politics',
- 'attention',
- 'decision',
- 'event',
- 'property',
- 'shopping',
- 'student',
- 'wood',
- 'competition',
- 'distribution',
- 'entertainment',
- 'office',
- 'population',
- 'president',
- 'unit',
- 'category',
- 'cigarette',
- 'context',
- 'introduction',
- 'opportunity',
- 'performance',
- 'driver',
- 'flight',
- 'length',
- 'magazine',
- 'newspaper',
- 'relationship',
- 'teaching',
- 'cell',
- 'dealer',
- 'debate',
- 'finding',
- 'lake',
- 'member',
- 'message',
- 'phone',
- 'scene',
- 'appearance',
- 'association',
- 'concept',
- 'customer',
- 'death',
- 'discussion',
- 'housing',
- 'inflation',
- 'insurance',
- 'mood',
- 'woman',
- 'advice',
- 'blood',
- 'effort',
- 'expression',
- 'importance',
- 'opinion',
- 'payment',
- 'reality',
- 'responsibility',
- 'situation',
- 'skill',
- 'statement',
- 'wealth',
- 'application',
- 'city',
- 'county',
- 'depth',
- 'estate',
- 'foundation',
- 'grandmother',
- 'heart',
- 'perspective',
- 'photo',
- 'recipe',
- 'studio',
- 'topic',
- 'collection',
- 'imagination',
- 'passion',
- 'percentage',
- 'resource',
- 'setting',
- 'ad',
- 'agency',
- 'college',
- 'connection',
- 'criticism',
- 'debt',
- 'description',
- 'memory',
- 'patience',
- 'secretary',
- 'solution',
- 'administration',
- 'aspect',
- 'attitude',
- 'director',
- 'personality',
- 'psychology',
- 'recommendation',
- 'response',
- 'selection',
- 'storage',
- 'version',
- 'alcohol',
- 'argument',
- 'complaint',
- 'contract',
- 'emphasis',
- 'highway',
- 'loss',
- 'membership',
- 'possession',
- 'preparation',
- 'steak',
- 'union',
- 'agreement',
- 'currency',
- 'employment',
- 'engineering',
- 'entry',
- 'interaction',
- 'limit',
- 'mixture',
- 'preference',
- 'region',
- 'republic',
- 'seat',
- 'tradition',
- 'actor',
- 'classroom',
- 'delivery',
- 'device',
- 'drama',
- 'election',
- 'engine',
- 'football',
- 'guidance',
- 'hotel',
- 'match',
- 'owner',
- 'priority',
- 'protection',
- 'suggestion',
- 'tension',
- 'variation',
- 'atmosphere',
- 'awareness',
- 'bread',
- 'climate',
- 'comparison',
- 'confusion',
- 'construction',
- 'elevator',
- 'emotion',
- 'employee',
- 'employer',
- 'guest',
- 'height',
- 'leadership',
- 'mall',
- 'manager',
- 'operation',
- 'recording',
- 'respect',
- 'sample',
- 'transportation',
- 'boring',
- 'charity',
- 'cousin',
- 'disaster',
- 'editor',
- 'efficiency',
- 'excitement',
- 'extent',
- 'feedback',
- 'guitar',
- 'homework',
- 'leader',
- 'mom',
- 'outcome',
- 'permission',
- 'presentation',
- 'promotion',
- 'reflection',
- 'refrigerator',
- 'resolution',
- 'revenue',
- 'session',
- 'singer',
- 'tennis',
- 'basket',
- 'bonus',
- 'cabinet',
- 'childhood',
- 'church',
- 'clothes',
- 'coffee',
- 'dinner',
- 'drawing',
- 'hair',
- 'hearing',
- 'initiative',
- 'judgment',
- 'lab',
- 'measurement',
- 'mode',
- 'mud',
- 'orange',
- 'poetry',
- 'police',
- 'possibility',
- 'procedure',
- 'queen',
- 'ratio',
- 'relation',
- 'restaurant',
- 'satisfaction',
- 'sector',
- 'signature',
- 'significance',
- 'song',
- 'tooth',
- 'town',
- 'vehicle',
- 'volume',
- 'wife',
- 'accident',
- 'airport',
- 'appointment',
- 'arrival',
- 'assumption',
- 'baseball',
- 'chapter',
- 'committee',
- 'conversation',
- 'database',
- 'enthusiasm',
- 'error',
- 'explanation',
- 'farmer',
- 'gate',
- 'girl',
- 'hall',
- 'historian',
- 'hospital',
- 'instruction',
- 'maintenance',
- 'manufacturer',
- 'meal',
- 'perception',
- 'pie',
- 'poem',
- 'presence',
- 'proposal',
- 'reception',
- 'replacement',
- 'revolution',
- 'river',
- 'son',
- 'speech',
- 'tea',
- 'village',
- 'warning',
- 'winner',
- 'worker',
- 'writer',
- 'assistance',
- 'breath',
- 'buyer',
- 'chest',
- 'chocolate',
- 'conclusion',
- 'contribution',
- 'cookie',
- 'courage',
- 'desk',
- 'drawer',
- 'establishment',
- 'examination',
- 'grocery',
- 'honey',
- 'impression',
- 'improvement',
- 'independence',
- 'insect',
- 'inspection',
- 'inspector',
- 'king',
- 'ladder',
- 'menu',
- 'penalty',
- 'piano',
- 'potato',
- 'profession',
- 'professor',
- 'quantity',
- 'reaction',
- 'requirement',
- 'salad',
- 'sister',
- 'supermarket',
- 'tongue',
- 'weakness',
- 'wedding',
- 'affair',
- 'ambition',
- 'analyst',
- 'apple',
- 'assignment',
- 'assistant',
- 'bathroom',
- 'bedroom',
- 'beer',
- 'birthday',
- 'celebration',
- 'championship',
- 'cheek',
- 'client',
- 'consequence',
- 'departure',
- 'diamond',
- 'dirt',
- 'ear',
- 'fortune',
- 'friendship',
- 'funeral',
- 'gene',
- 'girlfriend',
- 'hat',
- 'indication',
- 'intention',
- 'lady',
- 'midnight',
- 'negotiation',
- 'obligation',
- 'passenger',
- 'pizza',
- 'platform',
- 'poet',
- 'pollution',
- 'recognition',
- 'reputation',
- 'shirt',
- 'speaker',
- 'stranger',
- 'surgery',
- 'sympathy',
- 'tale',
- 'throat',
- 'trainer',
- 'uncle',
- 'youth',
- 'time',
- 'work',
- 'film',
- 'water',
- 'money',
- 'example',
- 'while',
- 'business',
- 'study',
- 'game',
- 'life',
- 'form',
- 'air',
- 'day',
- 'place',
- 'number',
- 'part',
- 'field',
- 'fish',
- 'back',
- 'process',
- 'heat',
- 'hand',
- 'experience',
- 'job',
- 'book',
- 'end',
- 'point',
- 'type',
- 'home',
- 'economy',
- 'value',
- 'body',
- 'market',
- 'guide',
- 'interest',
- 'state',
- 'radio',
- 'course',
- 'company',
- 'price',
- 'size',
- 'card',
- 'list',
- 'mind',
- 'trade',
- 'line',
- 'care',
- 'group',
- 'risk',
- 'word',
- 'force',
- 'key',
- 'light',
- 'training',
- 'name',
- 'school',
- 'top',
- 'amount',
- 'level',
- 'order',
- 'practice',
- 'research',
- 'sense',
- 'service',
- 'piece',
- 'web',
- 'boss',
- 'sport',
- 'fun',
- 'house',
- 'page',
- 'term',
- 'test',
- 'answer',
- 'sound',
- 'focus',
- 'matter',
- 'kind',
- 'soil',
- 'board',
- 'oil',
- 'picture',
- 'access',
- 'garden',
- 'range',
- 'rate',
- 'reason',
- 'future',
- 'site',
- 'demand',
- 'exercise',
- 'image',
- 'case',
- 'cause',
- 'coast',
- 'action',
- 'age',
- 'boat',
- 'record',
- 'result',
- 'section',
- 'building',
- 'mouse',
- 'cash',
- 'class',
- 'period',
- 'plan',
- 'store',
- 'tax',
- 'side',
- 'subject',
- 'space',
- 'rule',
- 'stock',
- 'weather',
- 'chance',
- 'figure',
- 'man',
- 'model',
- 'source',
- 'beginning',
- 'earth',
- 'program',
- 'chicken',
- 'design',
- 'feature',
- 'head',
- 'material',
- 'purpose',
- 'question',
- 'rock',
- 'salt',
- 'act',
- 'birth',
- 'car',
- 'dog',
- 'object',
- 'scale',
- 'sun',
- 'note',
- 'profit',
- 'rent',
- 'speed',
- 'style',
- 'war',
- 'bank',
- 'craft',
- 'half',
- 'inside',
- 'outside',
- 'standard',
- 'bus',
- 'exchange',
- 'eye',
- 'fire',
- 'position',
- 'pressure',
- 'stress',
- 'advantage',
- 'benefit',
- 'box',
- 'frame',
- 'issue',
- 'step',
- 'cycle',
- 'face',
- 'item',
- 'metal',
- 'paint',
- 'review',
- 'room',
- 'screen',
- 'structure',
- 'view',
- 'account',
- 'ball',
- 'discipline',
- 'medium',
- 'share',
- 'balance',
- 'bit',
- 'black',
- 'bottom',
- 'choice',
- 'gift',
- 'impact',
- 'machine',
- 'shape',
- 'tool',
- 'wind',
- 'address',
- 'average',
- 'career',
- 'culture',
- 'morning',
- 'pot',
- 'sign',
- 'table',
- 'task',
- 'condition',
- 'contact',
- 'credit',
- 'egg',
- 'hope',
- 'ice',
- 'network',
- 'north',
- 'square',
- 'attempt',
- 'date',
- 'effect',
- 'link',
- 'post',
- 'star',
- 'voice',
- 'capital',
- 'challenge',
- 'friend',
- 'self',
- 'shot',
- 'brush',
- 'couple',
- 'exit',
- 'front',
- 'function',
- 'lack',
- 'living',
- 'plant',
- 'plastic',
- 'spot',
- 'summer',
- 'taste',
- 'theme',
- 'track',
- 'wing',
- 'brain',
- 'button',
- 'click',
- 'desire',
- 'foot',
- 'gas',
- 'influence',
- 'notice',
- 'rain',
- 'wall',
- 'base',
- 'damage',
- 'distance',
- 'feeling',
- 'pair',
- 'savings',
- 'staff',
- 'sugar',
- 'target',
- 'text',
- 'animal',
- 'author',
- 'budget',
- 'discount',
- 'file',
- 'ground',
- 'lesson',
- 'minute',
- 'officer',
- 'phase',
- 'reference',
- 'register',
- 'sky',
- 'stage',
- 'stick',
- 'title',
- 'trouble',
- 'bowl',
- 'bridge',
- 'campaign',
- 'character',
- 'club',
- 'edge',
- 'evidence',
- 'fan',
- 'letter',
- 'lock',
- 'maximum',
- 'novel',
- 'option',
- 'pack',
- 'park',
- 'quarter',
- 'skin',
- 'sort',
- 'weight',
- 'baby',
- 'background',
- 'carry',
- 'dish',
- 'factor',
- 'fruit',
- 'glass',
- 'joint',
- 'master',
- 'muscle',
- 'red',
- 'strength',
- 'traffic',
- 'trip',
- 'vegetable',
- 'appeal',
- 'chart',
- 'gear',
- 'ideal',
- 'kitchen',
- 'land',
- 'log',
- 'mother',
- 'net',
- 'party',
- 'principle',
- 'relative',
- 'sale',
- 'season',
- 'signal',
- 'spirit',
- 'street',
- 'tree',
- 'wave',
- 'belt',
- 'bench',
- 'commission',
- 'copy',
- 'drop',
- 'minimum',
- 'path',
- 'progress',
- 'project',
- 'sea',
- 'south',
- 'status',
- 'stuff',
- 'ticket',
- 'tour',
- 'angle',
- 'blue',
- 'breakfast',
- 'confidence',
- 'daughter',
- 'degree',
- 'doctor',
- 'dot',
- 'dream',
- 'duty',
- 'essay',
- 'father',
- 'fee',
- 'finance',
- 'hour',
- 'juice',
- 'luck',
- 'milk',
- 'mouth',
- 'peace',
- 'pipe',
- 'stable',
- 'storm',
- 'substance',
- 'team',
- 'trick',
- 'afternoon',
- 'bat',
- 'beach',
- 'blank',
- 'catch',
- 'chain',
- 'consideration',
- 'cream',
- 'crew',
- 'detail',
- 'gold',
- 'interview',
- 'kid',
- 'mark',
- 'mission',
- 'pain',
- 'pleasure',
- 'score',
- 'screw',
- 'shop',
- 'shower',
- 'suit',
- 'tone',
- 'window',
- 'agent',
- 'band',
- 'bath',
- 'block',
- 'bone',
- 'calendar',
- 'candidate',
- 'cap',
- 'coat',
- 'contest',
- 'corner',
- 'court',
- 'cup',
- 'district',
- 'door',
- 'east',
- 'finger',
- 'garage',
- 'guarantee',
- 'hole',
- 'hook',
- 'implement',
- 'layer',
- 'lecture',
- 'lie',
- 'manner',
- 'meeting',
- 'nose',
- 'parking',
- 'partner',
- 'profile',
- 'rice',
- 'routine',
- 'schedule',
- 'swimming',
- 'telephone',
- 'tip',
- 'winter',
- 'airline',
- 'bag',
- 'battle',
- 'bed',
- 'bill',
- 'bother',
- 'cake',
- 'code',
- 'curve',
- 'designer',
- 'dimension',
- 'dress',
- 'ease',
- 'emergency',
- 'evening',
- 'extension',
- 'farm',
- 'fight',
- 'gap',
- 'grade',
- 'holiday',
- 'horror',
- 'horse',
- 'host',
- 'husband',
- 'loan',
- 'mistake',
- 'mountain',
- 'nail',
- 'noise',
- 'occasion',
- 'package',
- 'patient',
- 'pause',
- 'phrase',
- 'proof',
- 'race',
- 'relief',
- 'sand',
- 'sentence',
- 'shoulder',
- 'smoke',
- 'stomach',
- 'string',
- 'tourist',
- 'towel',
- 'vacation',
- 'west',
- 'wheel',
- 'wine',
- 'arm',
- 'aside',
- 'associate',
- 'bet',
- 'blow',
- 'border',
- 'branch',
- 'breast',
- 'brother',
- 'buddy',
- 'bunch',
- 'chip',
- 'coach',
- 'cross',
- 'document',
- 'draft',
- 'dust',
- 'expert',
- 'floor',
- 'god',
- 'golf',
- 'habit',
- 'iron',
- 'judge',
- 'knife',
- 'landscape',
- 'league',
- 'mail',
- 'mess',
- 'native',
- 'opening',
- 'parent',
- 'pattern',
- 'pin',
- 'pool',
- 'pound',
- 'request',
- 'salary',
- 'shame',
- 'shelter',
- 'shoe',
- 'silver',
- 'tackle',
- 'tank',
- 'trust',
- 'assist',
- 'bake',
- 'bar',
- 'bell',
- 'bike',
- 'blame',
- 'boy',
- 'brick',
- 'chair',
- 'closet',
- 'clue',
- 'collar',
- 'comment',
- 'conference',
- 'devil',
- 'diet',
- 'fear',
- 'fuel',
- 'glove',
- 'jacket',
- 'lunch',
- 'monitor',
- 'mortgage',
- 'nurse',
- 'pace',
- 'panic',
- 'peak',
- 'plane',
- 'reward',
- 'row',
- 'sandwich',
- 'shock',
- 'spite',
- 'spray',
- 'surprise',
- 'till',
- 'transition',
- 'weekend',
- 'welcome',
- 'yard',
- 'alarm',
- 'bend',
- 'bicycle',
- 'bite',
- 'blind',
- 'bottle',
- 'cable',
- 'candle',
- 'clerk',
- 'cloud',
- 'concert',
- 'counter',
- 'flower',
- 'grandfather',
- 'knee',
- 'lawyer',
- 'leather',
- 'load',
- 'mirror',
- 'neck',
- 'pension',
- 'plate',
- 'purple',
- 'ruin',
- 'ship',
- 'skirt',
- 'slice',
- 'snow',
- 'specialist',
- 'stroke',
- 'switch',
- 'tune',
- 'zone',
- 'anger',
- 'award',
- 'bid',
- 'boot',
- 'bug',
- 'camp',
- 'candy',
- 'carpet',
- 'cat',
- 'champion',
- 'channel',
- 'clock',
- 'comfort',
- 'cow',
- 'crack',
- 'engineer',
- 'entrance',
- 'fault',
- 'grass',
- 'guy',
- 'hell',
- 'highlight',
- 'incident',
- 'island',
- 'joke',
- 'jury',
- 'leg',
- 'lip',
- 'mate',
- 'motor',
- 'nerve',
- 'passage',
- 'pen',
- 'pride',
- 'priest',
- 'prize',
- 'promise',
- 'resident',
- 'resort',
- 'ring',
- 'roof',
- 'rope',
- 'sail',
- 'scheme',
- 'script',
- 'sock',
- 'station',
- 'toe',
- 'tower',
- 'truck',
- 'witness',
- 'can',
- 'will',
- 'other',
- 'use',
- 'make',
- 'good',
- 'look',
- 'help',
- 'go',
- 'great',
- 'being',
- 'still',
- 'public',
- 'read',
- 'keep',
- 'start',
- 'give',
- 'human',
- 'local',
- 'general',
- 'specific',
- 'long',
- 'play',
- 'feel',
- 'high',
- 'put',
- 'common',
- 'set',
- 'change',
- 'simple',
- 'past',
- 'big',
- 'possible',
- 'particular',
- 'major',
- 'personal',
- 'current',
- 'national',
- 'cut',
- 'natural',
- 'physical',
- 'show',
- 'try',
- 'check',
- 'second',
- 'call',
- 'move',
- 'pay',
- 'let',
- 'increase',
- 'single',
- 'individual',
- 'turn',
- 'ask',
- 'buy',
- 'guard',
- 'hold',
- 'main',
- 'offer',
- 'potential',
- 'professional',
- 'international',
- 'travel',
- 'cook',
- 'alternative',
- 'special',
- 'working',
- 'whole',
- 'dance',
- 'excuse',
- 'cold',
- 'commercial',
- 'low',
- 'purchase',
- 'deal',
- 'primary',
- 'worth',
- 'fall',
- 'necessary',
- 'positive',
- 'produce',
- 'search',
- 'present',
- 'spend',
- 'talk',
- 'creative',
- 'tell',
- 'cost',
- 'drive',
- 'green',
- 'support',
- 'glad',
- 'remove',
- 'return',
- 'run',
- 'complex',
- 'due',
- 'effective',
- 'middle',
- 'regular',
- 'reserve',
- 'independent',
- 'leave',
- 'original',
- 'reach',
- 'rest',
- 'serve',
- 'watch',
- 'beautiful',
- 'charge',
- 'active',
- 'break',
- 'negative',
- 'safe',
- 'stay',
- 'visit',
- 'visual',
- 'affect',
- 'cover',
- 'report',
- 'rise',
- 'walk',
- 'white',
- 'junior',
- 'pick',
- 'unique',
- 'classic',
- 'final',
- 'lift',
- 'mix',
- 'private',
- 'stop',
- 'teach',
- 'western',
- 'concern',
- 'familiar',
- 'fly',
- 'official',
- 'broad',
- 'comfortable',
- 'gain',
- 'rich',
- 'save',
- 'stand',
- 'young',
- 'heavy',
- 'lead',
- 'listen',
- 'valuable',
- 'worry',
- 'handle',
- 'leading',
- 'meet',
- 'release',
- 'sell',
- 'finish',
- 'normal',
- 'press',
- 'ride',
- 'secret',
- 'spread',
- 'spring',
- 'tough',
- 'wait',
- 'brown',
- 'deep',
- 'display',
- 'flow',
- 'hit',
- 'objective',
- 'shoot',
- 'touch',
- 'cancel',
- 'chemical',
- 'extreme',
- 'push',
- 'conflict',
- 'eat',
- 'fill',
- 'formal',
- 'jump',
- 'kick',
- 'opposite',
- 'pass',
- 'pitch',
- 'remote',
- 'total',
- 'treat',
- 'vast',
+ 'acoustics',
+ 'animation',
+ 'audio',
+ 'barndoor',
'beat',
- 'burn',
- 'deposit',
- 'print',
- 'raise',
- 'sleep',
- 'somewhere',
- 'advance',
- 'consist',
- 'dark',
- 'double',
- 'draw',
- 'equal',
- 'fix',
- 'hire',
- 'internal',
- 'join',
- 'kill',
- 'sensitive',
- 'tap',
- 'win',
- 'attack',
- 'claim',
- 'constant',
- 'drag',
- 'drink',
- 'guess',
- 'minor',
- 'pull',
- 'raw',
- 'soft',
- 'solid',
- 'wear',
- 'weird',
- 'wonder',
- 'annual',
- 'count',
- 'dead',
- 'doubt',
- 'feed',
- 'forever',
- 'impress',
- 'repeat',
- 'round',
- 'sing',
- 'slide',
- 'strip',
- 'wish',
- 'combine',
- 'command',
- 'dig',
- 'divide',
- 'equivalent',
- 'hang',
- 'hunt',
- 'initial',
- 'march',
- 'mention',
- 'spiritual',
- 'survey',
- 'tie',
- 'adult',
- 'brief',
- 'crazy',
- 'escape',
- 'gather',
- 'prior',
- 'repair',
- 'rough',
- 'sad',
- 'scratch',
- 'strike',
- 'employ',
- 'external',
- 'laugh',
- 'lay',
- 'mobile',
- 'ordinary',
- 'respond',
- 'royal',
- 'senior',
- 'split',
- 'strain',
- 'swim',
- 'train',
- 'upper',
- 'wash',
- 'yellow',
- 'convert',
- 'crash',
- 'dependent',
- 'fold',
- 'funny',
- 'grab',
- 'hide',
- 'miss',
- 'permit',
- 'quote',
- 'recover',
- 'resolve',
- 'roll',
- 'sink',
- 'slip',
- 'spare',
- 'suspect',
- 'sweet',
- 'swing',
- 'twist',
- 'upstairs',
- 'usual',
- 'abroad',
- 'brave',
- 'calm',
- 'concentrate',
- 'estimate',
- 'grand',
- 'male',
- 'mine',
- 'prompt',
- 'quiet',
- 'refuse',
- 'reveal',
- 'rush',
- 'shake',
- 'shift',
- 'shine',
- 'steal',
- 'suck',
+ 'brightness',
+ 'bulb',
+ 'channel',
+ 'chroma',
+ 'cinema',
+ 'clip',
+ 'color',
+ 'codec',
+ 'composition',
+ 'compression',
+ 'contrast',
+ 'darkness',
+ 'display',
+ 'distortion',
+ 'dolly',
+ 'downlight',
+ 'drum',
+ 'echo',
+ 'edit',
+ 'effect',
+ 'film',
+ 'fixture',
+ 'flash',
+ 'footage',
+ 'format',
+ 'floodlight',
+ 'flicker',
+ 'frame',
+ 'fresnel',
+ 'gel',
+ 'glow',
+ 'gobo',
+ 'groove',
+ 'guitar',
+ 'harmony',
+ 'highlight',
+ 'illumination',
+ 'instrument',
+ 'instrumental',
+ 'jib',
+ 'lamp',
+ 'led',
+ 'light',
+ 'luminance',
+ 'mastering',
+ 'melody',
+ 'microphone',
+ 'mix',
+ 'mixing',
+ 'moving light',
+ 'note',
+ 'pattern',
+ 'piano',
+ 'picture',
+ 'production',
+ 'record',
+ 'reflection',
+ 'reverb',
+ 'resolution',
+ 'sampler',
+ 'sample',
+ 'saxophone',
+ 'screen',
+ 'signal',
+ 'softlight',
+ 'song',
+ 'sound',
+ 'soundtrack',
+ 'speaker',
+ 'spot',
+ 'strobe',
+ 'streaming',
'surround',
- 'bear',
- 'brilliant',
- 'dare',
- 'dear',
- 'delay',
- 'drunk',
- 'female',
- 'hurry',
- 'inevitable',
- 'invite',
- 'kiss',
- 'neat',
- 'pop',
- 'punch',
- 'quit',
- 'reply',
- 'representative',
- 'resist',
- 'rip',
- 'rub',
- 'silly',
- 'smile',
- 'spell',
- 'stretch',
- 'stupid',
- 'tear',
- 'temporary',
- 'tomorrow',
- 'wake',
- 'wrap',
- 'yesterday',
+ 'synth',
+ 'tune',
+ 'trumpet',
+ 'uplight',
+ 'video',
+ 'violin',
+ 'visual',
+ 'voice',
+ 'wave',
+ 'wash',
];
/**
diff --git a/e2e/tests/features/201-message-control.spec.ts b/e2e/tests/features/201-message-control.spec.ts
index e6f763517..d1e94abd1 100644
--- a/e2e/tests/features/201-message-control.spec.ts
+++ b/e2e/tests/features/201-message-control.spec.ts
@@ -8,7 +8,7 @@ test('test', async ({ context }) => {
// stage timer message
await editorPage.getByPlaceholder('Shown in stage timer').click();
- await expect(editorPage.getByPlaceholder('Shown in stage timer')).toBeEnabled(true);
+ await expect(editorPage.getByPlaceholder('Shown in stage timer')).toBeEnabled();
await editorPage.getByPlaceholder('Shown in stage timer').fill('testing stage');
await editorPage.getByRole('button', { name: /toggle timer screen message/i }).click({ timeout: 5000 });