Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Is er iemand die mij hiermee kan helpen?

Ik kwam er op een andere plek op het forum er niet uit dus ben ik naar deze plek gegaan:
Tv geluid naar Sonos speakers


https://www.instructables...Sonos-Using-Raspberry-Pi/

[ Voor 16% gewijzigd door Verwijderd op 02-02-2020 14:31 ]

Beste antwoord (via Verwijderd op 03-02-2020 20:16)


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Misschien kun je ons ook vertellen wáár je precies mee geholpen wilt worden? Wat werkt er niet? Wat heb je allemaal al gezocht? Op deze manier loop je sterk 't risico dat een mod je topic vanwege te weinig input/investering dicht doet.

edit:
Denk dat ik 't al weet. Ik gok dat er een BOM aan het begin van je `darkice.cfg` zit waar DarkIce zich in verslikt.

Check eens:

xdd /home/pi/darkice.cfg | head -n1


Ik dénk dat het deze output geeft:

00000000: efbb bf5b 6765 6e65 7261 6c5d 0a64 7572  ...[general].dur


Terwijl het moet zijn:

00000000: 5b67 656e 6572 616c 5d0a 6475 7261 7469  [general].durati


edit:
Ah, kijk, DarkIce verslikt zich ook in configuratie-files die de lines eindigen in Windows-style met \r\n :X Dat kun je óók checken met:

xxd darkice.cfg | head -n1


Dat zou dan als output geven, waarbij je goed het/de puntje(s) tussen `[general]` en `durati` moet letten:

00000000: 5b67 656e 6572 616c 5d0d 0a64 7572 6174  [general]..durat


Je ziet daar "0d 0a" als line break, wat alleen "0a" zou moeten zijn voor DarkIce.

Oplossing voor beide bovenstaande problemen:

apt-get install dos2unix
dos2unix /home/pi/darkice.cfg


't Is ook wel bijzonder simpele code als ik dat mag zeggen: https://github.com/rafael...rkIceConfig.cpp#L123-L145

En de `istream.getline` uit read() heeft als default delimiter `\n`. Dus dat gaat niet lekker met Windows-achtige linebreaks.

[ Voor 96% gewijzigd door Osiris op 02-02-2020 16:18 ]

Alle reacties


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Misschien kun je ons ook vertellen wáár je precies mee geholpen wilt worden? Wat werkt er niet? Wat heb je allemaal al gezocht? Op deze manier loop je sterk 't risico dat een mod je topic vanwege te weinig input/investering dicht doet.

edit:
Denk dat ik 't al weet. Ik gok dat er een BOM aan het begin van je `darkice.cfg` zit waar DarkIce zich in verslikt.

Check eens:

xdd /home/pi/darkice.cfg | head -n1


Ik dénk dat het deze output geeft:

00000000: efbb bf5b 6765 6e65 7261 6c5d 0a64 7572  ...[general].dur


Terwijl het moet zijn:

00000000: 5b67 656e 6572 616c 5d0a 6475 7261 7469  [general].durati


edit:
Ah, kijk, DarkIce verslikt zich ook in configuratie-files die de lines eindigen in Windows-style met \r\n :X Dat kun je óók checken met:

xxd darkice.cfg | head -n1


Dat zou dan als output geven, waarbij je goed het/de puntje(s) tussen `[general]` en `durati` moet letten:

00000000: 5b67 656e 6572 616c 5d0d 0a64 7572 6174  [general]..durat


Je ziet daar "0d 0a" als line break, wat alleen "0a" zou moeten zijn voor DarkIce.

Oplossing voor beide bovenstaande problemen:

apt-get install dos2unix
dos2unix /home/pi/darkice.cfg


't Is ook wel bijzonder simpele code als ik dat mag zeggen: https://github.com/rafael...rkIceConfig.cpp#L123-L145

En de `istream.getline` uit read() heeft als default delimiter `\n`. Dus dat gaat niet lekker met Windows-achtige linebreaks.

[ Voor 96% gewijzigd door Osiris op 02-02-2020 16:18 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dank voor de reactie, ik ben zelf niet heel erg bekend met Linux.

Als ik dit invul:
xdd /home/pi/darkice.cfg | head -n1

Dan krijg ik deze output:
-bash: xdd: command not found

Maar als ik dit invul:
/home/pi/darkice.cfg | head -n1

Dan krijg ik dit:
-bash: /home/pi/darkice.cfg: Permission denied

Wat moet ik nu doen?

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Dat bestand heb je blijkbaar met root rechten gemaakt en mag alleen de eigenaar en groep er bij (of alleen de eigenaar). Vervelend, maar die laatste had je op kunnen lossen door het met sudo ervoor kunnen uitvoeren.

Doe eens het volgende:
ls -l /home/pi/darkice.cfg

Als er iets staat als '-rw------- root root', dan mag je als normale gebruiker er niets mee. Dat vereist dan root rechten (zaken uitvoeren met sudo ervoor als je een normale gebruiker bent).

De xdd commando's en andere zijn fancy en wat geavanceerder dan domweg dit doen:
sudo file /home/pi/darkice.cfg

Dat laat dan ook zien wat voor bestand het is en of er eventueel afwijkende regeleinden zijn. Bijvoorbeeld deze tekst:
ASCII text, with very long lines, with CRLF line terminators
Dan weet je dat je te maken hebt met een bestand dat met Windows is gemaakt en geen *NIX regeleinden bevat, iets wat het programma wel verwacht/vereist.
Als er een BOM, Byte Order Mark, gebruikt wordt, zal dat ook genoemd worden.

Weet je eenmaal met wat voor bestand je te maken hebt, dan kan je met Google ook al snel vinden hoe je er een 'normaal' *NIX bestand van kan maken. Als de eerdergenoemde 'dos2unix' niet werkt (vanwege het aanwezig zijn van een BOM bijvoorbeeld).

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Hero of Time schreef op maandag 3 februari 2020 @ 19:29:
Als de eerdergenoemde 'dos2unix' niet werkt (vanwege het aanwezig zijn van een BOM bijvoorbeeld).
'Mijn' dos2unix verwijderde ook de BOM.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
pi@raspberrypi:~ $ ls -l /home/pi/darkice.cfg
-rw-r--r-- 1 root root 922 Jan 30 19:11 /home/pi/darkice.cfg
pi@raspberrypi:~ $ sudo file /home/pi/darkice.cfg
/home/pi/darkice.cfg: UTF-8 Unicode (with BOM) text

Dit is de output


En de code voor het weghalen van de BOM heeft gewerkt!
Dank voor de moeite

[ Voor 14% gewijzigd door Verwijderd op 03-02-2020 20:16 ]

Pagina: 1