Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## V.2026 (2026.4) — 2026-08-10

- Ajoute deux options indépendantes : lancement de Controller Studio avec Windows dans la zone de notification et connexion automatique du contrôleur sélectionné au démarrage, avec plusieurs tentatives silencieuses si les ports ne sont pas encore prêts.
- Maintient sur l'EC4 un message localisé d'attente de LiveProfessor après la connexion MIDI, puis restaure automatiquement les paramètres dès le premier retour OSC.
- Corrige la fenêtre de réglages EC4 afin que tous les boutons restent entièrement visibles en français comme en anglais, même lorsque la largeur disponible est réduite.
- Corrige la création d'une copie AutoMap lorsqu'aucun contrôleur Companion/OSC n'existe encore et que l'utilisateur choisit **Créer un nouveau contrôleur depuis le profil choisi**.
- Valide la sélection personnalisée sur un projet réel de 41 instances : tous les plug-ins peuvent être mappés, ou un type/une instance peut être exclu avec les cases sans modifier le projet source.
- Ajoute un véritable fabricant de contrôleurs dans la Banque : encodeurs absolus ou relatifs, faders, boutons, ordre physique, banques et pages.
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Controller Studio transforme un contrôleur MIDI en surface de contrôle organis
|---|---|---|---|
| Pilote EC4 temps réel, banques, push, Shift, labels, valeurs et reconnexion | Profils prêts à exporter et éditeur de contrôleur | Vrais noms lus dans les plug-ins installés, récupération globale, priorités et cases individuelles | Choix des plug-ins et instances, UniBank ou FullBank, copie `.rack2` validée |

L’interface existe en français et en anglais, se réduit dans la zone de notification et place le journal temps réel dans une fenêtre séparée.
L’interface existe en français et en anglais, se réduit dans la zone de notification et place le journal temps réel dans une fenêtre séparée. Deux options indépendantes permettent de lancer Controller Studio avec Windows puis de connecter automatiquement le contrôleur sélectionné, sans devoir cliquer sur **Démarrer** après chaque redémarrage du serveur.

## Utilisation en trois étapes

Expand Down Expand Up @@ -116,7 +116,7 @@ Cliquez sur **Créer un contrôleur…** pour partir d’un modèle de huit enco

**Enregistrer dans ma banque** valide le profil et le rend disponible hors ligne. **Enregistrer + créer .ctrl2** produit aussitôt le fichier LiveProfessor. Le remplacement d’un profil personnel conserve une sauvegarde de la version précédente. La page Live donne aussi accès à **Configurer / apprentissage MIDI…** pour le contrôleur actif ; le setup/groupe visible avec l’EC4 reste une fonction spécifique à ce matériel.

La fenêtre **Réglages** de la page Live retrouve les paramètres avancés d’EC4 Bridge : cadence de l’Overlay, durée d’affichage, rafraîchissement Companion et des labels, délai de confirmation LiveProfessor et affichage persistant. Ces temporisations sont disponibles pour tous les contrôleurs compatibles ; les outils setup/groupe et SysEx restent affichés uniquement pour l’EC4.
La fenêtre **Réglages** de la page Live retrouve les paramètres avancés d’EC4 Bridge : cadence de l’Overlay, durée d’affichage, rafraîchissement Companion et des labels, délai de confirmation LiveProfessor et affichage persistant. Ces temporisations sont disponibles pour tous les contrôleurs compatibles ; les outils setup/groupe et SysEx restent affichés uniquement pour l’EC4. Lorsque l’EC4 est connecté avant LiveProfessor, son écran affiche une attente localisée puis revient automatiquement aux paramètres dès que LiveProfessor répond.

Pour proposer un contrôleur à la bibliothèque commune :

Expand Down Expand Up @@ -238,7 +238,7 @@ Controller Studio turns a MIDI controller into an organized control surface for
|---|---|---|---|
| Real-time EC4 driver, banks, push, Shift, labels, values and reconnection | Ready-to-export profiles and a controller editor | Real names read from installed plug-ins, batch retrieval, priorities and individual checkboxes | Plug-in and instance selection, UniBank or FullBank, validated `.rack2` copy |

The interface is available in French and English, minimizes to the notification area and keeps the real-time log in a separate window.
The interface is available in French and English, minimizes to the notification area and keeps the real-time log in a separate window. Two independent options can launch Controller Studio with Windows and then connect the selected controller automatically, so a server restart no longer requires clicking **Start**.

## Three-step workflow

Expand Down Expand Up @@ -312,7 +312,7 @@ Click **Create a controller…** to start with eight encoders, then add, remove,

**Save to my bank** validates the profile and makes it available offline. **Save + create .ctrl2** immediately produces the LiveProfessor file. Replacing a personal profile keeps a backup of the previous version. The Live page also provides **Configure / MIDI Learn…** for the active controller; the setup/group section shown with the EC4 remains hardware-specific.

The Live page **Settings** window restores EC4 Bridge’s advanced controls: Overlay update rate and duration, Companion and label refresh delays, LiveProfessor feedback timeout, and persistent display. These timings are available to every compatible controller; setup/group and SysEx tools remain EC4-only.
The Live page **Settings** window restores EC4 Bridge’s advanced controls: Overlay update rate and duration, Companion and label refresh delays, LiveProfessor feedback timeout, and persistent display. These timings are available to every compatible controller; setup/group and SysEx tools remain EC4-only. If the EC4 connects before LiveProfessor, its screen shows a localized waiting message and automatically restores parameter feedback as soon as LiveProfessor responds.

To submit a controller to the shared library:

Expand Down
11 changes: 11 additions & 0 deletions packaging/windows/SiLeMIO-Controller-Studio.iss
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,14 @@ Name: "{autodesktop}\{#MyShortcutName}"; Filename: "{app}\{#MyAppExeName}"; Work

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#MyAppName}}"; Flags: nowait postinstall skipifsilent

[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usUninstall then
RegDeleteValue(
HKCU,
'Software\Microsoft\Windows\CurrentVersion\Run',
'Controller Studio for LiveProfessor'
);
end;
1 change: 1 addition & 0 deletions packaging/windows/uninstall.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ $shortcutPaths = @(
foreach ($shortcut in $shortcutPaths) {
Remove-Item -LiteralPath $shortcut -Force -ErrorAction SilentlyContinue
}
Remove-ItemProperty -LiteralPath 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run' -Name 'Controller Studio for LiveProfessor' -Force -ErrorAction SilentlyContinue
Remove-Item -LiteralPath 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\SiLeMIOControllerStudio' -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -LiteralPath (Join-Path $installRoot 'Controller-Studio-for-LiveProfessor.exe') -Force -ErrorAction SilentlyContinue
Remove-Item -LiteralPath (Join-Path $installRoot 'SiLeMIO-Controller-Studio.exe') -Force -ErrorAction SilentlyContinue
Expand Down
12 changes: 12 additions & 0 deletions scripts/generate_manuals.py
Original file line number Diff line number Diff line change
Expand Up @@ -571,6 +571,10 @@ def english_content() -> dict:
"p",
"Le sélecteur de la page Live reste synchronisé avec la banque. Configurer / apprentissage MIDI ouvre l'éditeur pour le contrôleur actif. Lorsqu'un pilote temps réel est disponible, les boutons Démarrer, Arrêter, les banques et les réglages adaptés deviennent accessibles. Le setup et le groupe affichés avec l'EC4 sont propres à ce matériel. Sinon, le profil reste immédiatement utilisable pour l'export et AutoMap.",
),
(
"p",
"L'option de connexion automatique réutilise toujours le contrôleur sélectionné. Avec l'EC4, le message de connexion suit la langue de l'application. Si LiveProfessor n'a pas encore démarré, l'écran reste sur Attente démarrage / LiveProfessor ou Waiting for / LiveProfessor, puis revient automatiquement aux paramètres dès le premier retour OSC.",
),
("h2", "Exporter vers LiveProfessor"),
(
"steps",
Expand Down Expand Up @@ -666,6 +670,11 @@ def english_content() -> dict:
"p",
"Réglages retrouve la petite fenêtre avancée d'EC4 Bridge : cadence et durée de l'Overlay, rafraîchissement Companion et des labels, délai maximal du retour LiveProfessor et affichage persistant. Ces temporisations sont communes aux contrôleurs compatibles ; les commandes setup/groupe et SysEx restent propres à l'EC4.",
),
("h2", "Démarrage automatique d'un serveur"),
(
"p",
"Deux cases indépendantes sont disponibles sur la page Live et dans Options. Lancer Controller Studio avec Windows ouvre l'application directement dans la zone de notification. Démarrer automatiquement la connexion du contrôleur sélectionné lance ensuite le moteur sans clic manuel. Si Windows n'a pas encore rendu les ports MIDI disponibles, Controller Studio réessaie silencieusement plusieurs fois. Laissez aussi LiveProfessor configuré pour démarrer avec Windows si le serveur doit devenir autonome.",
),
("h2", "Langue et zone de notification"),
(
"p",
Expand Down Expand Up @@ -746,6 +755,7 @@ def english_content() -> dict:
("p", "Edit / duplicate creates a personal copy of a built-in profile without changing the original. Import a profile installs validated JSON. Every personal replacement keeps a backup."),
("h2", "Active controller"),
("p", "The Live page selector stays synchronized with the bank. Configure / MIDI Learn opens the editor for the active controller. When a real-time driver is available, Start, Stop, bank, and matching settings become available. The setup and group shown with the EC4 are specific to that hardware. Otherwise, the profile remains ready for export and AutoMap."),
("p", "Automatic connection always reuses the selected controller. On the EC4, the connection message follows the application language. If LiveProfessor has not started yet, the screen remains on Attente demarrage / LiveProfessor or Waiting for / LiveProfessor, then automatically restores the parameter display on the first OSC feedback."),
("h2", "Export to LiveProfessor"),
("steps", [("1", "Select the controller in the bank."), ("2", "Click Export controller .ctrl2."), ("3", "In LiveProfessor, open Hardware Controllers Setup, then Load from file.")]),
],
Expand Down Expand Up @@ -787,6 +797,8 @@ def english_content() -> dict:
("p", "The Live page keeps only the active controller, essential actions, status, and last event. MIDI/OSC connections are under Settings, and the complete log opens in a separate window."),
("h2", "Responsiveness, feedback, and Overlay"),
("p", "Settings restores EC4 Bridge's compact advanced window: Overlay update rate and duration, Companion and label refresh delays, LiveProfessor feedback timeout, and persistent display. These timings are shared by compatible controllers; setup/group and SysEx commands remain EC4-only."),
("h2", "Automatic server startup"),
("p", "Two independent checkboxes are available on the Live page and under Options. Launch Controller Studio with Windows opens the application directly in the notification area. Connect the selected controller automatically then starts the engine without a manual click. If Windows has not exposed the MIDI ports yet, Controller Studio retries silently several times. Configure LiveProfessor to start with Windows as well when the server must become autonomous."),
("h2", "Language and notification area"),
("p", "Options > Language switches immediately between French and English. Minimizing to the notification area hides the window without stopping an active engine; Quit actually stops the application."),
("h2", "Manual, updates, and support"),
Expand Down
Loading
Loading