Go-based FM stereo transmitter with RDS, Windows-first and cross-platform
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

32 строки
888B

  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "log"
  6. "net/http"
  7. cfgpkg "github.com/jan/fm-rds-tx/internal/config"
  8. ctrlpkg "github.com/jan/fm-rds-tx/internal/control"
  9. )
  10. func main() {
  11. configPath := flag.String("config", "", "path to JSON config")
  12. printConfig := flag.Bool("print-config", false, "print effective config and exit")
  13. flag.Parse()
  14. cfg, err := cfgpkg.Load(*configPath)
  15. if err != nil {
  16. log.Fatalf("load config: %v", err)
  17. }
  18. if *printConfig {
  19. fmt.Printf("backend=%s freq=%.1fMHz stereo=%t rds=%t listen=%s\n", cfg.Backend.Kind, cfg.FM.FrequencyMHz, cfg.FM.StereoEnabled, cfg.RDS.Enabled, cfg.Control.ListenAddress)
  20. return
  21. }
  22. srv := ctrlpkg.NewServer(cfg)
  23. log.Printf("fm-rds-tx listening on %s", cfg.Control.ListenAddress)
  24. log.Fatal(http.ListenAndServe(cfg.Control.ListenAddress, srv.Handler()))
  25. }