rtpmidi 0.4.4

A library for RTP-MIDI / AppleMIDI
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#[cfg(feature = "mdns")]
pub fn advertise_mdns(instance_name: &str, port: u16) -> Result<mdns_sd::ServiceDaemon, mdns_sd::Error> {
    use mdns_sd::{ServiceDaemon, ServiceInfo};

    let mdns = ServiceDaemon::new()?;
    let service_type = "_apple-midi._udp.local.";
    let ip = local_ip_address::local_ip().expect("Failed to get local IP address").to_string();

    let raw_hostname = hostname::get().expect("Failed to get hostname").to_string_lossy().to_string();
    let hostname = format!("{raw_hostname}.local.");
    let service = ServiceInfo::new(service_type, instance_name, &hostname, ip, port, None)?;
    mdns.register(service)?;

    Ok(mdns)
}