Currently this project is just a GQRX bookmarks file.
Long term goals are to have a large directory of JSON (or YAML or TOML) files. Each file represents a different concept, such as "FM Radio in the USA" or "Walkie Talkie in Australia". Each file would have a country code since a lot of this stuff changes by country. These files might look something like this:
usa-fm-radio.json
The defaults
value allows setting default values for each entry. For example, with FM radio in the USA, a bandwidth of 20kHz can be assumed everywhere. However, for MURS, the bandwidth changes for some of the channels, and therefore a default isnt as beneficial.
{
"name": "FM Radio in the USA",
"style": "fm",
"defaults": {
"bandwidth": 20000,
"country": "usa",
},
"entries": [
{
"freq": 8850000,
"name": "88.5 FM",
"state": "CA",
"city": "San Francisco",
"lat": 37.7552,
"lon": -122.4528,
"lang": "en"
}
]
}
Building
With all of these JSON files, someone is free to build a list of bookmarks for their specific software and their specific location. For example:
$ radio-builder --country USA --state CA --city "San Francisco" --software gqrx
> writing bookmarks.csv
CI
Pull requests will run a validator to make sure the JSON files adhere to a schema.
Each new "Release", perhaps executed nightly when new data was contributed, will build a large set of generic bookmarks. For example, maybe one for each country.
The output list of release files will be pretty big. It would look something like this:
- usa-gqrx.csv
- usa-california-gqrx.csv
- usa-californai-sf-gqrx.csv
- usa-qirx.tsv
- can-gqrx.csv
Specifics vs Generics
We'll need a way to differentiate "generic" from "specific" entries. For example, in San Francisco, there are a finite number of radio stations, each with a name. A San Francisco bookmark might then have 10 named FM stations (like KQED). On the other hand, a United States bookmark might simply list all 100 FM stations (like 89.9, 90.1).
CI would probably build generics, and maybe specifics for big cities. Users should be able to input their lat/lon pair and get even more specific entries. Some entries are generic and universal, like messages from space stations.