TuneNet's Preferences has the option to set Audio Mode to "AHI User Mode" or "AHI Audio 0" (etc). I think I'm being thick, but which audio mode allows other programs to play sounds at the same time? (I think that's the main difference between those options, right?)
"AHI User Mode" is the same as the AHI "Music Unit" or low-level interface which is exclusive access to the audio h/w unless you use DEVICE.audio to redirect it to "unit 0".
For TuneNet you should always pick "AHI Audio 0" (AHI unit 0). I don't know why using the so called "Music Unit" is an option in TuneNet TBH.
TuneNet's Preferences has the option to set Audio Mode to "AHI User Mode" or "AHI Audio 0" (etc). I think I'm being thick, but which audio mode allows other programs to play sounds at the same time? (I think that's the main difference between those options, right?)
The Unit numbers are the ones that share between other sharing audio apps (ie ones that don't do low level access like AudioEvolution)
Use the User mode if you want to choose a second sound card or have a reason to pick a specific mode on the standard card.
Use the User mode if you want to choose a second sound card...
Or you could use "Unit 1" for this purpose since that's basically what the units 1 to 3 are there for (and also I would guess special audio modes like FILESAVE).
I hope you like the new Shoutcast V2 API functionality and animated Ringhio notifications in the latest TuneNet from Enhancer Software v1.3
I have to admit to not trying the revised Internet Radio functionality yet... But from a quick look, although it works, I'm not sure I'll personally find it useful (probably due to how the Search function works) :
(EDIT: CORRECTIONS MADE BELOW #2)
If I search for "J-Pop" I only get 3 results. And even if I change it to search the top 500 "International" stations, I only get 4 results. BUT if I search on the shoutcast.com website, then I get 33 results!
I presume this is because TuneNet downloads the top 500 stations (which won't contain obscure stations!), and only after that filter the results. So either it needs to request more stations (if the search finds too few matches), or it needs to send the search request to the server (but I don't know if this is possible using the API).
My use case may be obscure, so I do not necessarily expect anything to be done about this (I just report it & let you decide whether it's worth doing or not).
(EDIT: UPDATED REPLY BELOW)
I'm normally running the original Ringhio server (for beta-testing OS4), but I did install your new version in a separate folder, so I just tested it out... Yes, it is rather nice having an animated notification
I might have to consider having this running by default! (Just needs me to change my WbStartup prefs.)
Edited by ChrisH on 2017/7/29 13:47:27 Edited by ChrisH on 2017/7/29 13:54:28 Edited by ChrisH on 2017/7/31 15:54:33
Based on experience, here is my explanatiton for AHI settings:
If you select a sound card or built-in audio like hdaudio for X1000 in the AHI "Music Unit" lister, then applications that use the low-level AHI API will have exclusive access and other applications will not play at the same time. Some things like notifications won't work.
In AHI, if you set one of the "Unit 0" settings in the "Music Unit" lister and set a sound card or built-in audio setting in the "Unit 0" lister then any applications that use the low-level API will have their sound play rerouted to "Unit 0" and won't have exclusive access to AHI and block other applications (like notifications) from playing.
If you set one of the "Unit 0" settings in the AHI "Music Unit" lister, then the TuneNet settings won't matter. However, it's probably better to use "AHI Audio 0" (AHI unit 0) in TuneNet as broadblues suggested.
Supposedly, the low-level access to AHI resulted in better sound quality on a classic (OS3) Amiga but I've never been able to tell any difference on my OS4 NG computer.
By the way, it's the SYS:Devs/AHI/device.audio file that makes "Unit 0" show up in the AHI "Music Unit" lister. Without that file, there is no way to reroute low-level AHI access to Unit 0.
Amiga X1000 with 2GB memory & OS 4.1FE + Radeon HD 5450
The find field in the GUI only filters the currently downloaded results set. There is a limit on the number and frequecy of requests, so frequently poling by keyword is not viable, also I wanted to keep the GUI simple
So:
Quote:
My use case may be obscure, so I do not necessarily expect anything to be done about this (I just report it & let you decide whether it's worth doing or not).
That's why I added an ARexx interface, and extended the API to add StationSearch
Gives ten results here, number of results may depend on number of station currently broadcastingas the result s have chnaged from 8 to 9 10 and back again whilst I was verifying.
OK, that gives me 9 results, while searching for 'JPop' gives 21 results.
While using the website gives me 36 results, and 'JPop' gives 40.
Quote:
There is a limit on the number and frequecy of requests, so frequently poling by keyword is not viable
Depends. TuneNet itself could limit the number of searches. I had to do something along those lines with eNewsReader for Twitter's API, since they are quite restrictive on how often you poll them for news.
OK, that gives me 9 results, while searching for 'JPop' gives 21 results.
While using the website gives me 36 results, and 'JPop' gives 40.
The only limit here is what the API search finds, the website may have direct access to the database, rather than using the API, thus returning more stations, who knows.
The API as described in their documantation is not fully implmented, for example you can't query for subgenre names at the moment (or couldn't when I wrote the code anyway haven't tested for 6 months) JPOP is a subgenre, but when searching for genres you don't search by the text name but rather but it's numerical ID.
JPOP is 227 (worked out by using the GETGENREINFO rexx command to get the main genre ID (POP = 220) and the using this list to guess the sub genre ID)
There should have been a ScanByGenre.rexx example script included in the archive but it seems to be missing.
Here is the code.
/* Scan Stations Example */
/*
This example shows how to fetch genres, then scan the list for one of the genre IDS returned
*/
options results
parse arg searchgenre
address TUNENET.1
'GETGENRELISTINFO STEM "GENRES"'
Say "Avalable Genres:"
searchid = "Not Found"
if rc = 0 then do
do i = 1 to GENRES.0
genre = " "
do j = 1 to GENRES.ATTRS.0
at = GENRES.ATTRS.j.ATTR
genre = genre || " " || GENRES.i.at
end
say genre
end
do i = 0 to GENRES.0
if GENRES.i.NAME = searchgenre then do
searchid = GENRES.i.ID
leave
end
end
if searchid = "Not Found" then do
say "Requested Genre Not Available"
exit
end
Say "Scanning for " searchgenre
'STATIONSCAN GENREID ' searchid ' STATIONS 10'
if rc = 0 then do
'GETSTATIONLISTINFO STEM "STATIONS"'
Say "Found:"
if rc = 0 then do
do i = 1 to STATIONS.0
station = i || " "
do j = 1 to STATIONS.ATTRS.0
at = STATIONS.ATTRS.j.ATTR
station = station || " " || STATIONS.i.at
end
say station
end
end
end
end
Quote:
TuneNet itself could limit the number of searches.
It already does. Still the idea is to keep the GUI simple and fast and provide ARexx for 'advanced' / 'specialist' cases.