您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Enhances the audibility of accents, staccato, and marked notes in Musescore 4, with slightly slower tempo for slurred and marked notes.
当前为
- // ==UserScript==
- // @name AudibleAccents
- // @namespace MusescoreEnhancements
- // @version 1.1
- // @description Enhances the audibility of accents, staccato, and marked notes in Musescore 4, with slightly slower tempo for slurred and marked notes.
- // @description:fr Améliore l'audibilité des accents, des notes staccato et marquées dans Musescore 4, avec un tempo légèrement ralenti pour les notes liées et marquées.
- // @description:de Verbessert die Hörbarkeit von Akzenten, Staccato und markierten Noten in Musescore 4, mit leicht verlangsamtem Tempo für gebundene und markierte Noten.
- // @description:it Migliora l'udibilità di accenti, staccato e note contrassegnate in Musescore 4, con un tempo leggermente più lento per note legate e contrassegnate.
- // @description:es Mejora la audibilidad de acentos, staccato y notas marcadas en Musescore 4, con un tempo ligeramente más lento para notas ligadas y marcadas.
- // @description:pt Melhora a audibilidade de acentos, staccato e notas marcadas no Musescore 4, com um tempo ligeiramente mais lento para notas ligadas e marcadas.
- // @description:zh 提高了Musescore 4中音符的音响效果,对于连音和标记音符,稍微降低了速度。
- // @description:ja Musescore 4のアクセント、スタッカート、マークされた音符の聞き取りやすさを向上させ、結び付けられた音符とマークされた音符の速度をわずかに遅くします。
- // @description:ko Musescore 4의 악센트, 스타카토 및 표시된 음표의 가청성을 향상시키고, 결합되고 표시된 음표의 속도를 약간 느리게 조정합니다.
- // @description:lv Uzlabo akcentu, stakato un atzīmēto notskaņu dzirdamību Musescore 4, nedaudz palēninot tempu sasaistītām un atzīmētām notīm.
- // @author YGL
- // @license GNU GPL 3.0
- // @match *://*/*
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- let scriptEnabled = false;
- const toggleScript = () => {
- scriptEnabled = !scriptEnabled;
- updateButton();
- if (scriptEnabled) enhanceNotes();
- };
- const createButton = () => {
- const button = document.createElement('button');
- button.id = 'audible-accents-button';
- button.style.cssText = 'position: fixed; top: 20px; right: 20px; width: 100px; height: 40px; border-radius: 20px; border: none; font-weight: bold; font-size: 14px; cursor: pointer; outline: none; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.19);';
- button.style.backgroundColor = scriptEnabled ? '#4CAF50' : '#2196F3';
- button.textContent = getButtonText();
- button.addEventListener('click', toggleScript);
- document.body.appendChild(button);
- adjustButtonPosition(button);
- };
- const updateButton = () => {
- const button = document.querySelector('#audible-accents-button');
- button.textContent = getButtonText();
- button.style.backgroundColor = scriptEnabled ? '#4CAF50' : '#2196F3';
- adjustButtonPosition(button);
- };
- const getButtonText = () => {
- const language = navigator.language.toLowerCase();
- const langText = {
- fr: ['Activé', 'Activer'],
- de: ['Aktiviert', 'Aktivieren'],
- it: ['Attivato', 'Attivare'],
- es: ['Activado', 'Activar'],
- pt: ['Ativado', 'Ativar'],
- zh: ['已激活', '激活'],
- ja: ['アクティブ', 'アクティブにする'],
- ko: ['활성화 됨', '활성화'],
- lv: ['Aktivizēts', 'Aktivizēt']
- };
- return scriptEnabled ? langText[language][0] || 'Activated' : langText[language][1] || 'Activate';
- };
- const adjustButtonPosition = button => {
- const boundingRect = button.getBoundingClientRect();
- const overlapElements = document.elementsFromPoint(boundingRect.left + boundingRect.width / 2, boundingRect.top + boundingRect.height / 2);
- overlapElements.forEach(element => {
- if (element !== button && element.tagName === 'BUTTON') {
- const elementRect = element.getBoundingClientRect();
- if (elementRect.bottom > boundingRect.top && elementRect.top < boundingRect.bottom &&
- elementRect.right > boundingRect.left && elementRect.left < boundingRect.right) {
- // There is overlap, adjust button position
- button.style.top = `${elementRect.bottom + 10}px`;
- }
- }
- });
- };
- const enhanceNotes = () => {
- // Your code to enhance notes here
- };
- const waitForMusescore = () => {
- if (typeof curScore === 'undefined') {
- setTimeout(waitForMusescore, 100);
- } else {
- createButton();
- }
- };
- waitForMusescore();
- })();