Skip to content
Snippets Groups Projects
presets.js 3.68 KiB
Newer Older
  • Learn to ignore specific revisions
  • const {combineRgb} = require("@companion-module/base");
    module.exports = function () {
        let presets = {};
    
        // Pad Playback
        for (let i = 0; i < 100; i++) {
            presets[`pad-playback-${i}`] = {
                category: 'Pad Playback',
                name: `pad-playback-${i}`,
                type: 'button',
                previewStyle: {
                    text: `Pad ${i + 1}`,
    
                    size: '18',
    
                    color: combineRgb(255, 255, 255),
                    bgcolor: combineRgb(0, 0, 0),
                },
                style: {
                    text: `$(PlayWall:pad-${i})`,
    
                    size: '18',
    
                    color: combineRgb(255, 255, 255),
                    bgcolor: combineRgb(0, 0, 0),
                },
                steps: [
                    {
                        down: [
                            {
                                actionId: 'pad_playback_action',
                                options: {
                                    'type': 'NUMBER',
                                    'index': i + 1
                                }
                            }
                        ]
                    }
                ],
                feedbacks: [
                    {
                        feedbackId: 'pad_status',
                        options: {
                            'type': 'NUMBER',
                            'index': i + 1
                        }
                    }
                ]
            };
        }
    
        // Pages
        for (let i = 0; i < 20; i++) {
            presets[`page-set-${i}`] = {
                category: 'Pad Set',
                name: `page-set-${i}`,
                type: 'button',
                style: {
                    text: `Seite ${i + 1}`,
    
                    size: '18',
    
                    color: combineRgb(255, 255, 255),
                    bgcolor: combineRgb(0, 0, 0),
                },
                steps: [
                    {
                        down: [
                            {
                                actionId: 'page_set_action',
                                options: {
    
                                }
                            }
                        ]
                    }
                ],
                feedbacks: [
                    {
                        feedbackId: 'page_active',
                        options: {
    
                            'index': i + 1
                        },
                        style: {
                            bgcolor: combineRgb(255, 0, 0),
                            color: combineRgb(255, 255, 255),
    
    Tobias Ullerich's avatar
    Tobias Ullerich committed
            category: 'Page Navigate',
    
            name: 'pad-navigate-previous',
            type: 'button',
            style: {
                text: 'Zurück',
    
                size: '18',
    
                color: combineRgb(255, 255, 255),
                bgcolor: combineRgb(0, 0, 0),
            },
            steps: [
                {
                    down: [
                        {
                            actionId: 'pad_navigate_action',
                            options: {
                                'type': 'PREVIOUS'
                            }
                        }
                    ]
                }
            ]
        };
        presets['pad-navigate-next'] = {
    
    Tobias Ullerich's avatar
    Tobias Ullerich committed
            category: 'Page Navigate',
    
            name: 'pad-navigate-next',
            type: 'button',
            style: {
                text: 'Vor',
    
                size: '18',
    
                color: combineRgb(255, 255, 255),
                bgcolor: combineRgb(0, 0, 0),
            },
            steps: [
                {
                    down: [
                        {
                            actionId: 'pad_navigate_action',
                            options: {
                                'type': 'NEXT'
                            }
                        }
                    ]
                }
            ]
        }
    
    
        return presets;
    };