# Liquidsoap

## Audio Stream Generation

### get_json_metadata.liq

    meta = ref []

    # s = some source

    # Update current metadata
    # converted in UTF8
    def update_meta(m) =
      m = metadata.export(m)
      recode = string.recode(out_enc="UTF-8")
      def f(x) =
        (recode(fst(x)),recode(snd(x)))
      end
      meta := list.map(f,m)
    end

    # Apply update_metadata
    # every time we see a new
    # metadata
    s = on_metadata(update_meta,s)

    # Return the json content
    # of meta
    def get_meta(~method,~protocol,~data,~headers,uri) =
      m = !meta
      http_response(
        protocol=protocol,
        code=200,
        headers=[("Content-Type","application/json; charset=utf-8")],
        data=json_of(m)
      )
    end

    # Register get_meta at port 700
    harbor.http.register(port=7000,"/getmeta",get_meta)

Download