Skip to content

JMP91/MidiVideo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎛️ MidiVideo

MidiVideo est une application modulaire et légère, écrite en C, qui permet:

  • la lecture précise de vidéos MP4 à 25 fps,
  • l’interaction en temps réel avec des événements MIDI (note et contrôleurs),
  • l’affichage d’effets visuels simples avec SDL2,

🧱 Structure du projet

midivideo/
├── include/
│   ├── core/        # définitions principales
│   ├── ffmpeg/      # en-têtes pour la gestion vidéo
│   ├── midi/        # en-têtes pour le MIDI
│   ├── sdl/         # rendu graphique avec SDL
│   ├── userinput/   # gestion clavier / événement midi
│   └── ui/          # (à venir) mini interface
├── source/
│   ├── core/        # moteur principal
│   ├── ffmpeg/      # lecture vidéo
│   ├── midi/        # traitement MIDI
│   ├── sdl/         # effets visuels
│   ├── userinput/   # gestion clavier / Midi
│   └── ui/          # (à venir) interface utilisateur
├── Makefile
└── README.md

⚙️ Dépendances

sudo apt install
 libsdl2-dev libavformat-dev libavcodec-dev libavutil-dev libportmidi-dev

## 🧠 Fonctionnement

**MidiVideo** 
Les notes midi déclenchent la lecture ou des effets simples ou les deux 
(Notes in lecture frames  notes off lecture off) ce peut être des controleurs .

### 🎹 Gestion MIDI :

- `Note On` → déplace la lecture vidéo à une **frame correspondant
     au numéro de note** (ex. : note 60 = frame 60).
- `Note Off`**arrête la lecture** à la frame en cours.
- Les **10 dernières notes MIDI** (note 117 à 127) sont réservées
     au déclenchement d'**effets visuels simples** (cercles, ondes, etc.).
- Une **table de correspondance MIDI → frame** sera bientôt
         chargée depuis un fichier externe pour éviter le codage en dur.

## 🚀 Utilisation

```bash
make
./midivideo
  • Prochainement : en fenêtré auto-adapté à la vidéo, avec UI minimale.

🎬 Lecture vidéo

  • Format recommandé : MP4 encodé en H.264
  • Utilisation de FFmpeg/libav pour la lecture image par image.
  • Optimisé pour un usage en live.

🔧 Fonctionnalités à venir

  • 📄 Fichier de configuration MIDI → frame externe.
  • 🎛️ Simplification de l’interaction en live

👤 Auteur

Développé par JM

Un projet né pour la scène, pensé pour être modulaire, rapide, et autonome.

Cet outil répond à mes besoins scéniques. Sous linux, un ordi deporté portable à 100 balles géré en entrée midi via live ableton .

to be continued ....

About

piloter en midi la lecture d une video , avec quelques effets

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors