Claude f80ebd9f3d refactor: Remove obsolete orchestration layer, create RadioParadiseSource stub
Major cleanup removing 2831 lines (~45%) of outdated server orchestration code.
RadioParadiseStreamSource (pmoaudio integration) is now the primary implementation.

## Changes

### Removed (2393 lines)
- **paradise/ module** - Complete server orchestration system:
  - worker.rs (1146 lines) - Background polling, caching, state machine
  - channel.rs (429 lines) - Channel lifecycle management
  - playlist.rs (294 lines) - Shared playlist management
  - history.rs (218 lines) - SQLite persistence
  - constants.rs (209 lines) - Server configuration constants
  - mod.rs (29 lines) - Module exports

### Replaced
- **source.rs** (612 → 174 lines, -72%):
  - Old: Full MusicSource implementation with UPnP/DIDL integration
  - New: Minimal stub for backward compatibility with pmomediaserver
  - Returns empty results and deprecation warnings
  - Documents migration path to RadioParadiseStreamSource

### Updated
- **config_ext.rs**: Now imports HISTORY_DEFAULT_MAX_TRACKS from channels module
- **lib.rs**:
  - Removed paradise module
  - Updated documentation to focus on RadioParadiseStreamSource
  - Updated cargo features documentation

## Architecture

**Before**: Complex orchestration with workers, channels, caching, history
**After**: Simple API access + pmoaudio streaming (RadioParadiseStreamSource)

## Compatibility

RadioParadiseSource stub maintains API compatibility for pmomediaserver while
clearly indicating deprecation. All operations return empty results or errors
with migration guidance.

## Testing

-  All 23 tests pass
-  Compilation successful with all features
-  pmomediaserver compatibility maintained (stub implementation)

## Migration Path

Old (deprecated):
```rust
let source = RadioParadiseSource::from_registry(client)?;
```

New (recommended):
```rust
let stream_source = RadioParadiseStreamSource::new(client, None).await?;
let node = Node::from_logic(stream_source);
```
2025-11-05 07:40:36 +00:00
2025-11-03 14:45:37 +01:00
2025-09-07 12:14:50 +02:00
2025-10-05 22:03:13 +02:00
2025-09-06 17:45:28 +02:00
2025-10-29 22:36:36 +01:00
2025-10-29 22:35:53 +01:00
2025-10-29 22:35:53 +01:00
2025-11-03 14:45:37 +01:00
2025-11-03 14:45:37 +01:00
2025-10-05 22:03:13 +02:00
2025-10-20 19:50:58 +02:00
2025-11-03 14:45:37 +01:00
2025-11-03 14:45:37 +01:00
2025-10-05 22:03:13 +02:00

Développement de l'application PMOMusic en RUST

Création de la structure

mkdir pizzicato
cd pizzicato
jj git init
touch Readme.md

Maintenant on peu créer l'application PMOMusic

cargo new PMOMusic

On ajoute un fichier Cargo.toml décrivant le workspace pizzicato qui ne contient que notre nouvelle application

[workspace]
members = ["PMOMusic"]

On crée le package pmoupnp

cargo new  pmoupnp --lib

Cela modifie automatiquement le fichier Cargo.toml créé juste avant. Dans ce package un sous module statevariable

cd pmoupnp/src
mkdir statevariable

Petite expériences jujutsu

  • Je veux voir l'historique
jj log
@  lkmlpmnk eric@coissac.eu 2025-09-12 09:48:38 a27b6a9a
│  On commence les states variables
○  mzvokmpk eric@coissac.eu 2025-09-12 09:32:27 926827f3
│  Retire le répertoir target du suivi
○  skknrvut eric@coissac.eu 2025-09-12 09:05:27 cbad5c34
│  Initialisation des l'arborescence de répertoires
◆  zzzzzzzz root() 00000000
  • Je veux me mettre dans un commit:
jj edit mzvokmpk

je veux créer un nouveau commit à la suite d'un autre et m'y placer

jj new mzvokmpk

mzvokmpk peut être @ pour dans le commit courant ou @- pour dans le parent

  • je veux arreter de suivre
    • un fichier
jj file untrack <filename> 
  • un répertoire
find dirname -type f -exec jj file untrack {} \;

Dans tous les cas ne pas oublier d'inscrire le fichier ou le repertoire dans le .gitignore

  • je veux déplacer un commit comme un sous commit d'un aute
jj rebase -d destination -r source

eventuellement faire un

jj resolve --all
jj rebase --continue

pour résoudre les conflits

Installer rust sur mac

brew install rustup-init
rustup-init
rustup default stable
Description
No description provided
Readme 242 MiB
Languages
Rust 73%
HTML 11.6%
Vue 9.5%
TypeScript 2.6%
Python 1.3%
Other 1.9%