In order to add speaker audio (ie ambient music), a stream needs to be created (POST streams/) and then modified (PATCH streams/) with latitude and longitude parameters. This holds true for global listen as well as geo-listen projects despite that not making sense for global listen projects. (there are server issues here that are complex and since we are moving towards client-side mixing, there is no point in spending lots of time figuring those out when there is a relatively easy solution client side).
The basic flow to create a stream for all projects should be:
POST streams/ with only session_id as parameter
- response returned from server including stream mountpoint
- client mounts stream in audio player
- client sends
PATCH streams/:id/ with latitude and longitude params
- for geo-listen,
latitude and longitude will come from CoreLocation
- for global listen,
latitude and longitude should be hard-coded as 1.0 and 1.0
- if user denies location access,
latitude and longitude should be hard-coded as 1.0 and 1.0
- we should consider simply using the demo stream url if the user denies location access...?
- we need to handle both the situation where users deny location access initially and then subsequent situations where location access was turned off previously and remains off without any user interaction.
A new feature in Roundware allows for the creation of a global stream for a geo-listen project because there are certain cases, like web clients and art installations, where it is very useful to be able to hear a stream with all assets available and not worry about having to send location updates etc. We could consider creating this sort of stream for geo-listen projects where the user denies location access. This would require updating the session with geo_listen_enabled =false, which is not something currently available, I don't think, so I'm just noting this for future reference.
Most global listen projects still request location when making a contribution (ie geo_speak_enabled=true, so the user should be prompted for location access only when/if they decide to make a recording, not at app opening as is required when geo_listen_enabled=true.
In order to add speaker audio (ie ambient music), a stream needs to be created (
POST streams/) and then modified (PATCH streams/) withlatitudeandlongitudeparameters. This holds true for global listen as well as geo-listen projects despite that not making sense for global listen projects. (there are server issues here that are complex and since we are moving towards client-side mixing, there is no point in spending lots of time figuring those out when there is a relatively easy solution client side).The basic flow to create a stream for all projects should be:
POST streams/with onlysession_idas parameterPATCH streams/:id/withlatitudeandlongitudeparamslatitudeandlongitudewill come from CoreLocationlatitudeandlongitudeshould be hard-coded as1.0and1.0latitudeandlongitudeshould be hard-coded as1.0and1.0A new feature in Roundware allows for the creation of a global stream for a geo-listen project because there are certain cases, like web clients and art installations, where it is very useful to be able to hear a stream with all assets available and not worry about having to send location updates etc. We could consider creating this sort of stream for geo-listen projects where the user denies location access. This would require updating the session with
geo_listen_enabled =false, which is not something currently available, I don't think, so I'm just noting this for future reference.Most global listen projects still request location when making a contribution (ie
geo_speak_enabled=true, so the user should be prompted for location access only when/if they decide to make a recording, not at app opening as is required whengeo_listen_enabled=true.