RE: Official moOde 8 support thread - Tim Curtis - 03-14-2022
(03-14-2022, 02:43 PM)Macdelf Wrote: (03-14-2022, 02:36 PM)Tim Curtis Wrote: (03-14-2022, 01:44 PM)Macdelf Wrote: Good morning,
I would first like to thank all for this wonderful project. I just updated to 8.0 without any problems. Two things became apparent:
1. Upon system “Restore” I cannot seem to add my user stations without getting a restore of the old list of moode stations. One does not seem to come without the other and I would like to try the new offerings. BTW my user stations are also flagged as “Favorites” (if that maters).
2. What ever happened to “Clear/Add”? I like it way better than “Clear play”.
There is a new Clear Queue item in the ... menus on the Playbar and in Playback view. The idea was to simplify the context menus by removing Clear/Add which is prolly not that frequently used. The equivalent of Clear/Add in moOde 8 is Clear Queue followed by Add.
For the radio station issue run the command below and let me know if it returns anything.
Code: moodeutl -q "select * from cfg_radio where id ='499'"
I did that from the version of 8 I created that had my favorites in it but with the default radio overwritten to 7.4 with the restore function. I got no output. Just a prompt.
I have about eight stations and can re add them manually if needed.
Got it. This is a build bug causing the 499 record to not be written to cfg_radio.
Run the command below to add it back in and then Reboot.
Code: moodeutl -q "INSERT INTO cfg_radio (id, station, name, type, logo, genre, broadcaster, language, country, region, bitrate, format, geo_fenced, home_page, reserved2) VALUES (499, 'zx reserved 499', 'zx reserved 499', 'r', 'zx reserved 499', '', '', '', '', '', '', '', '', '', '')"
Then run the query to verify its there
Code: moodeutl -q "select * from cfg_radio where id ='499'"
ETA: @philrandal, give this a shot.
RE: Official moOde 8 support thread - Macdelf - 03-14-2022
(03-14-2022, 03:01 PM)Tim Curtis Wrote: (03-14-2022, 02:43 PM)Macdelf Wrote: (03-14-2022, 02:36 PM)Tim Curtis Wrote: (03-14-2022, 01:44 PM)Macdelf Wrote: Good morning,
I would first like to thank all for this wonderful project. I just updated to 8.0 without any problems. Two things became apparent:
1. Upon system “Restore” I cannot seem to add my user stations without getting a restore of the old list of moode stations. One does not seem to come without the other and I would like to try the new offerings. BTW my user stations are also flagged as “Favorites” (if that maters).
2. What ever happened to “Clear/Add”? I like it way better than “Clear play”.
There is a new Clear Queue item in the ... menus on the Playbar and in Playback view. The idea was to simplify the context menus by removing Clear/Add which is prolly not that frequently used. The equivalent of Clear/Add in moOde 8 is Clear Queue followed by Add.
For the radio station issue run the command below and let me know if it returns anything.
Code: moodeutl -q "select * from cfg_radio where id ='499'"
I did that from the version of 8 I created that had my favorites in it but with the default radio overwritten to 7.4 with the restore function. I got no output. Just a prompt.
I have about eight stations and can re add them manually if needed.
Got it. This is a build bug causing the 499 record to not be written to cfg_radio.
Run the command below to add it back in and then Reboot.
Code: moodeutl -q "INSERT INTO cfg_radio (id, station, name, type, logo, genre, broadcaster, language, country, region, bitrate, format, geo_fenced, home_page, reserved2) VALUES (499, 'zx reserved 499', 'zx reserved 499', 'r', 'zx reserved 499', '', '', '', '', '', '', '', '', '', '')"
Then run the query to verify its there
Code: moodeutl -q "select * from cfg_radio where id ='499'"
ETA: @philrandal, give this a shot. Ok got
moodeutl -q "select * from cfg_radio where id ='499'"
499|zx reserved 499|zx reserved 499|r|zx reserved 499||||||||||
Checking if it works now
RE: Official moOde 8 support thread - seipersei - 03-14-2022
(03-14-2022, 01:27 PM)Tim Curtis Wrote: (03-14-2022, 11:21 AM)Tim Curtis Wrote: (03-14-2022, 10:34 AM)seipersei Wrote: Hi all,
My streamer is made of a Raspberry Pi 3A+ with IQAudio DAC Pro. I’ve been using it with Moode for about 6 months without issues. With 8.0.0 it works flawlessly for maybe 15 minutes, then it starts to slow down drastically and eventually I can’t connect to it at all. I’ve tried rebooting it, using different SD cards in case the old one was corrupted, removing scripts (I use a Python script to show the play/pause status as specified here) but with no success: every time it works for a little while and then it packs up. Sometimes it would come back to life after several reboots but only briefly.
I reverted back to the old version of moode (7.6.1) and it works without issues, so it looks like the problem is related to this new release.
The system info I was able to copy just before it stopped working again is this:
Code: S Y S T E M P A R A M E T E R S
moOde release = 8.0.0 2022-03-12
RaspiOS = 11.2
Linux kernel = 5.15.23-v7+ #1525
Platform = Pi-3A+ 1.0 512MB
Architecture = armv7l (32-bit)
System uptime = up 1 minute
Timezone = Europe/Rome
Current time = 2022-03-14 10:56:45
Host name = moode
Ethernet address = unassigned
Ethernet MAC = no adapter
WLAN address = 192.168.1.142
WLAN MAC = b8:27:eb:37:b4:6f
WLAN country = IT
SoC identifier = bcm2837
Core count = 4
Kernel timer freq = 100 Hz
SDCard freq = 50 MHz
USB boot = not enabled
Warranty = OK
Root size = 15G
Root used = 21%
Root available = 12G
Root expand = expanded
Memory total = 487 MB
Memory free = 337 MB
Memory used = 150 MB
SoC temperature = 43.5°C
Throttled bitmask = 0x0
Throttled text = No throttling has occurred
CPU governor = ondemand
Onboard WiFi = On
Onboard BT = Off
HDMI output = Off
LED state = 0,0
IP addr timeout = 90 (secs)
Ethernet check = No
USB auto-mounter = udisks-glue
SSH term server = On
PHP-FPM version = 7.4.28
NGINX version = 1.18.0
SQLite3 version = 3.34.1
Hostapd version = 2.9
RPi.GPIO version = 0.7.0
A U D I O P A R A M E T E R S
Audio device = IQaudIO Pi-DAC PRO
Interface = I2S
Mixer name = Digital
Hardware mixer = Yes
Supported formats = S16_LE, S24_LE, S32_LE
ALSA max volume = 100
ALSA output mode = Direct (hw)
ALSA loopback = Off
MPD max volume = 100
Volume step limit = 10
Display dB volume = Off
Audio source = Local
Output device = Local
Resume MPD = No
Volume knob = 0
Volume mute = Unmuted
Saved MPD vol = 0
Preamp volume = 0
ALSA version = 1.2.4-1.1+rpt2
SoX version = 0.1.3-4+rpi1
Bluetooth controller = Off
Pairing agent = Off
Airplay receiver = On
Spotify receiver = Off
Squeezelite = Off
RoonBridge = Not installed
UPnP client = On
DLNA server = Off
GPIO button handler = Off
Multiroom sender = Off
Multiroom receiver = Disabled
UPnP browser = Off
Auto-shuffle = Off
Ashuffle mode = Track
Ashuffle filter = None
Autoplay = Off
Rotary encoder = Off
Encoder params = 100 2 3 23 24
USB volume knob = Off
Polarity inversion = Off
Crossfeed = Off
Crossfade = Off
Parametric EQ = Off
Graphic EQ = Off
CamillaDSP = off
MPD httpd = Off
Ignore CUE files = Yes
P R E F E R E N C E S
Appearance
----------------------
Theme = Default
Accent color = Herb
Alpha blend = 0.85
Adaptive background = No
Background image = No
Cover backdrop = Yes
Cover blur = 20px
Cover scale = 1.25
Renderer backdrop = No
Font size = Smaller
Playback
----------------------
Show Queue thumbs = Yes
Show Now-playing icon = Yes
Show CoverView playbar = Yes
Show extra metadata = album,genre,track,disc,date,composer,conductor,performer,encoded,comment
Search site = Google
Playback history log = No
Library
----------------------
One touch album = Play
One touch radio = Play
Albumview sort order = by Artist
Tagview sort order = by Artist
Recently added = 1 Week
Show sample rate = Badge
Cover search pri = Cover image file
Pixel ratio = 2
Thumbnail resolution = 600px,60
Thumbnail columns = 6/2 (Default)
Library (Advanced)
----------------------
Tag view genre = Genres
Tag view artist = Artist
Album key = Album@Artist (Default)
Include comment tag = No
Library filter = full_lib
Library filter str =
Ignore articles = a,an,the
Show tagview genres = Yes
Show tagview covers = Yes
Ellipsis limited text = No
UTF8 character filter = No
CoverView
----------------------
Automatic display = Never
Backdrop style = Gradient (Linear)
R A D I O M A N A G E R S E T T I N G S
Sort tag = Name
Group method = No grouping
Show moOde stations = No action
Show other stations = No action
M P D S E T T I N G S
Version = 0.23.5
Volume type = none
SoX resampling = disabled
Selective resampling = disabled
SoX quality = high
SoX multithreading = off
DSD over PCM (DoP) = no
Replaygain = off
Replaygain preamp = 0
Volume normalization = no
Audio buffer = 32 (MB)
Output buffer size = 128 (MB)
Max playlist items = 16384
Input cache = 128 MB
B L U E T O O T H S E T T I N G S
Version = 5.55
Bluealsa = v3.0.0
Pairing agent = 1.0.0
Pi-Bluetooth = 0.1.18
Speaker sharing = No
Resume MPD = No
PCM buffer time = 500000 (µs)
A I R P L A Y S E T T I N G S
Version = 3.3.8
Friendly name = Stream Pi
Interpolation = soxr
Output bit depth = S16
Output sample rate = 44100
Session interruption = no
Session timeout = 120 (ms)
Latency offset = 0.0 (secs)
Audio buffer = 0.2 (secs)
Resume MPD = No
S P O T I F Y S E T T I N G S
Version = 0.3.1
Friendly name = Moode Spotify
Bitrate (kbps) = 160
Format = S16
Dither = Automatic (Default)
Volume curve = log
Volume range (dB) = 60
Initial volume (%) = 0
Volume normalization = No
Method = dynamic
Gain type = auto
Pregain (dB) = 0
Threshold (dBFS) = -2
Attack (ms) = 5
Release (ms) = 100
Knee = 1
Autoplay = No
Resume MPD = No
S Q U E E Z E L I T E S E T T I N G S
Version = 1.9.8-1317 "DSD/SRC enabled"
Friendly name = Moode
ALSA device = hw:0
ALSA params = 80:4::1
Output buffers = 40000:100000
Task priority = 45
Codec list = flac,pcm,mp3,ogg,aac,alac,dsd
Other options = -W -D 500 -R E -S /var/local
Resume MPD = No
L O C A L D I S P L A Y S E T T I N G S
Local UI display = Off
Mouse cursor = On
Screen blank = 600 Secs
Wake display on play = Off
Brightness = 255
Pixel aspect ratio = Default
Rotate screen = 0 Deg
M O O D E S T A R T U P L O G
20220314 105529 worker: --
20220314 105529 worker: -- Start moOde 8 series
20220314 105529 worker: --
20220314 105529 worker: Successfully daemonized
20220314 105530 worker: File check (OK)
20220314 105531 worker: Session vacuumed
20220314 105531 worker: Session loaded
20220314 105531 worker: Debug logging (ON)
20220314 105531 worker: --
20220314 105531 worker: -- Audio debug
20220314 105531 worker: --
20220314 105531 worker: ALSA cards: (0:IQaudIODAC | 1:empty | 2:empty | 3:empty
20220314 105531 worker: MPD config: (0:IQaudIO Pi-DAC PRO | mixer:(Digital) | card:0)
20220314 105532 worker: ALSA mixer actual (Digital)
20220314 105532 worker: ALSA Digital volume set to (0%)
20220314 105532 worker: --
20220314 105532 worker: -- System
20220314 105532 worker: --
20220314 105534 worker: Host (moode)
20220314 105534 worker: moOde (8.0.0 2022-03-12)
20220314 105534 worker: RaspiOS (11.2)
20220314 105534 worker: Kernel (5.15.23-v7+ #1525)
20220314 105534 worker: Platform (Pi-3A+ 1.0 512MB)
20220314 105534 worker: ARM arch (armv7l, 32-bit)
20220314 105534 worker: MPD ver (0.23.5)
20220314 105534 worker: CPU gov (ondemand)
20220314 105534 worker: USB boot (not enabled yet)
20220314 105534 worker: File sys (expanded)
20220314 105534 worker: HDMI port (Off)
20220314 105534 worker: Sys LED0 (Off)
20220314 105534 worker: Sys LED1 (Off)
20220314 105534 worker: --
20220314 105534 worker: -- Network
20220314 105534 worker: --
20220314 105535 worker: eth0 adapter does not exist
20220314 105535 worker: eth0 address not assigned
20220314 105535 worker: wlan0 adapter exists
20220314 105535 worker: wlan0 country (IT)
20220314 105535 worker: wlan0 trying SSID (Infostrada-909B99)
20220314 105535 worker: IP addr (192.168.1.142)
20220314 105535 worker: Netmask (255.255.255.0)
20220314 105535 worker: Gateway (192.168.1.1)
20220314 105535 worker: Pri DNS (192.168.1.1)
20220314 105535 worker: Domain (home)
20220314 105535 worker: wlan0 power save disabled
20220314 105535 worker: --
20220314 105535 worker: -- Audio config
20220314 105535 worker: --
20220314 105536 worker: MPD conf updated
20220314 105536 worker: ALSA card number (0)
20220314 105536 worker: MPD audio output (IQaudIO Pi-DAC PRO)
20220314 105536 worker: Audio formats (S16_LE, S24_LE, S32_LE)
20220314 105536 worker: ALSA mixer name (Digital)
20220314 105536 worker: MPD mixer type (fixed 0dB)
20220314 105536 worker: Hdwr volume controller exists
20220314 105536 worker: Max ALSA volume (100%)
20220314 105536 worker: ALSA output mode (Direct: hw)
20220314 105536 worker: ALSA loopback (Off)
20220314 105536 worker: Reset renderer active flags
20220314 105536 worker: CamillaDSP (off)
20220314 105536 worker: --
20220314 105536 worker: -- MPD startup
20220314 105536 worker: --
20220314 105537 worker: MPD started
20220314 105537 worker: MPD accepting connections
20220314 105537 worker: MPD output 1 ALSA Default (on)
20220314 105537 worker: MPD output 2 ALSA Bluetooth (off)
20220314 105537 worker: MPD output 3 HTTP Server (off)
20220314 105537 worker: MPD crossfade (off)
20220314 105538 worker: MPD ignore CUE files (yes)
20220314 105538 worker: --
20220314 105538 worker: -- Feature availability
20220314 105538 worker: --
20220314 105538 worker: Source select (available)
20220314 105538 worker: Source select (source: MPD)
20220314 105538 worker: Source select (output: IQaudIO Pi-DAC PRO)
20220314 105538 worker: Bluetooth (available)
20220314 105538 startAirplay(): (/usr/bin/shairport-sync -vvu -a "Stream Pi" -- -d _audioout > /var/log/shairport-sync.log 2>&1 &)
20220314 105538 worker: Airplay renderer (available: started)
20220314 105538 worker: Spotify renderer (available)
20220314 105538 worker: Squeezelite (available)
20220314 105538 worker: RoonBridge renderer (not installed)
20220314 105538 worker: Multiroom sender (available)
20220314 105538 worker: Multiroom receiver (available)
20220314 105538 worker: UPnP renderer (available: started)
20220314 105538 worker: DLNA server (available)
20220314 105538 worker: UPnP browser (available)
20220314 105538 worker: GPIO button handler (available)
20220314 105538 worker: Stream recorder (n/a)
20220314 105538 worker: --
20220314 105538 worker: -- Music sources
20220314 105538 worker: --
20220314 105538 worker: USB source (DRIVE)
20220314 105538 worker: NAS and UPnP sources (none configured)
20220314 105538 worker: --
20220314 105538 worker: -- Other
20220314 105538 worker: --
20220314 105538 worker: USB volume knob (Off)
20220314 105538 worker: Shellinabox SSH started
20220314 105538 worker: USB auto-mounter (udisks-glue)
20220314 105538 worker: Saved MPD vol level (0)
20220314 105538 worker: Preamp volume level (0)
20220314 105538 worker: MPD volume level (0) restored
20220314 105538 worker: ALSA Digital volume (100%)
20220314 105538 worker: Auto-play (Off)
20220314 105538 worker: Maintenance interval (120 minutes)
20220314 105538 worker: Screen saver activation (Never)
20220314 105538 worker: Session permissions (OK)
20220314 105538 worker: Watchdog started
20220314 105538 worker: Ready
20220314 105632 waitWorker(): Start (sys-config, w_active=0)
20220314 105632 waitWorker(): End (sys-config, w_active=0)
20220314 105641 waitWorker(): Start (sys-config, w_active=0)
20220314 105641 waitWorker(): End (sys-config, w_active=0)
Very odd. I have a 3A+ but won't be able to test till later this morning.
No issues on my end. Its a 3A+, no HAT, Bluetooth and Airplay turned on and a NAS share mounted and indexed.
Code: pi@moode:~ $ moodeutl -s
Gathering info...
S Y S T E M P A R A M E T E R S
moOde release = 8.0.0 2022-03-12
RaspiOS = 11.2
Linux kernel = 5.15.23-v7+ #1525
Platform = Pi-3A+ 1.0 512MB
Architecture = armv7l (32-bit)
System uptime = up 1 hour, 20 minutes
Timezone = America/Detroit
Current time = 2022-03-14 09:22:24
Thanks Tim, you gave me hope so a gave it one last try and flashed it but this time I didn’t restore the settings from a backup. So far it looks like it’s working, including the python script and the modded config file. Thanks for your help
CORRECTION: not working again. Can’t access moode, can’t even reboot it using the power button
RE: Official moOde 8 support thread - Macdelf - 03-14-2022
(03-14-2022, 03:30 PM)Macdelf Wrote: (03-14-2022, 03:01 PM)Tim Curtis Wrote: (03-14-2022, 02:43 PM)Macdelf Wrote: (03-14-2022, 02:36 PM)Tim Curtis Wrote: (03-14-2022, 01:44 PM)Macdelf Wrote: Good morning,
I would first like to thank all for this wonderful project. I just updated to 8.0 without any problems. Two things became apparent:
1. Upon system “Restore” I cannot seem to add my user stations without getting a restore of the old list of moode stations. One does not seem to come without the other and I would like to try the new offerings. BTW my user stations are also flagged as “Favorites” (if that maters).
2. What ever happened to “Clear/Add”? I like it way better than “Clear play”.
There is a new Clear Queue item in the ... menus on the Playbar and in Playback view. The idea was to simplify the context menus by removing Clear/Add which is prolly not that frequently used. The equivalent of Clear/Add in moOde 8 is Clear Queue followed by Add.
For the radio station issue run the command below and let me know if it returns anything.
Code: moodeutl -q "select * from cfg_radio where id ='499'"
I did that from the version of 8 I created that had my favorites in it but with the default radio overwritten to 7.4 with the restore function. I got no output. Just a prompt.
I have about eight stations and can re add them manually if needed.
Got it. This is a build bug causing the 499 record to not be written to cfg_radio.
Run the command below to add it back in and then Reboot.
Code: moodeutl -q "INSERT INTO cfg_radio (id, station, name, type, logo, genre, broadcaster, language, country, region, bitrate, format, geo_fenced, home_page, reserved2) VALUES (499, 'zx reserved 499', 'zx reserved 499', 'r', 'zx reserved 499', '', '', '', '', '', '', '', '', '', '')"
Then run the query to verify its there
Code: moodeutl -q "select * from cfg_radio where id ='499'"
ETA: @philrandal, give this a shot. Ok got
moodeutl -q "select * from cfg_radio where id ='499'"
499|zx reserved 499|zx reserved 499|r|zx reserved 499||||||||||
Checking if it works now No good and I think I know why. Are certain id’s in the database reserved for user files? In my test I backed up the radio stations from 8.0. I then deleted a user station and tried to restore it. But in my 8.0 version the new stations were just appended to the list. Do I need the user stations to have their old ID’s?
Yes this works with the old restore file. Thank You
RE: Official moOde 8 support thread - jonners - 03-14-2022
(03-14-2022, 02:39 PM)TheOldPresbyope Wrote: Has anyone else noticed how often reports of difficulty connecting to a NAS turn out to be for systems using a WiFi router's file-sharing capability as the NAS. This has been true for a long time with respect to Fritz!Box routers and now we see the GL-MT300N-V2 as well. As my grandmother used to say, "there's many a slip 'twixt the cup and the lip."
@jonners
To rule out any dns vs mdns silliness, what happens when you try manually entering host/share either as GL-MT300N-V2.local/sda1 or as <router IP address>/sda1?
Were the router on my network, for example, the latter would be 10.0.0.1/sda1
I looked at https://docs.gl-inet.com/en/3/tutorials/file_sharing/ and didn't see anything out of the ordinary. The router seems to be based on OpenWRT which is a venerable piece of kit. The documentation is heavily skewed toward MS-Windows users, though, which can be annoying.
Regards,
Kent
Thanks for the help Kent, but no luck with either of those entries.
RE: Official moOde 8 support thread - philrandal - 03-14-2022
(03-14-2022, 03:38 PM)Macdelf Wrote: (03-14-2022, 03:30 PM)Macdelf Wrote: (03-14-2022, 03:01 PM)Tim Curtis Wrote: (03-14-2022, 02:43 PM)Macdelf Wrote: (03-14-2022, 02:36 PM)Tim Curtis Wrote: There is a new Clear Queue item in the ... menus on the Playbar and in Playback view. The idea was to simplify the context menus by removing Clear/Add which is prolly not that frequently used. The equivalent of Clear/Add in moOde 8 is Clear Queue followed by Add.
For the radio station issue run the command below and let me know if it returns anything.
Code: moodeutl -q "select * from cfg_radio where id ='499'"
I did that from the version of 8 I created that had my favorites in it but with the default radio overwritten to 7.4 with the restore function. I got no output. Just a prompt.
I have about eight stations and can re add them manually if needed.
Got it. This is a build bug causing the 499 record to not be written to cfg_radio.
Run the command below to add it back in and then Reboot.
Code: moodeutl -q "INSERT INTO cfg_radio (id, station, name, type, logo, genre, broadcaster, language, country, region, bitrate, format, geo_fenced, home_page, reserved2) VALUES (499, 'zx reserved 499', 'zx reserved 499', 'r', 'zx reserved 499', '', '', '', '', '', '', '', '', '', '')"
Then run the query to verify its there
Code: moodeutl -q "select * from cfg_radio where id ='499'"
ETA: @philrandal, give this a shot. Ok got
moodeutl -q "select * from cfg_radio where id ='499'"
499|zx reserved 499|zx reserved 499|r|zx reserved 499||||||||||
Checking if it works now No good and I think I know why. Are certain id’s in the database reserved for user files? In my test I backed up the radio stations from 8.0. I then deleted a user station and tried to restore it. But in my 8.0 version the new stations were just appended to the list. Do I need the user stations to have their old ID’s?
Yes this works with the old restore file. Thank You
New ID is sequential after the Moode stations in my backup.
Only difference between a moode station and my user-added one is:
"reserved2": "" in moode stations
"reserved2": "NULL" in my station.
Cheers,
Phil
RE: Official moOde 8 support thread - philrandal - 03-14-2022
(03-14-2022, 04:26 PM)philrandal Wrote: New ID is sequential after the Moode stations in my backup.
Only difference between a moode station and my user-added one is:
"reserved2": "" in moode stations
"reserved2": "NULL" in my station.
Cheers,
Phil
So in theory it should resore as a "moode station". I should have checked that. Oh yes, it restores along with the others from a backup made in Moode 8.
RE: Official moOde 8 support thread - Tim Curtis - 03-14-2022
User added stations are given id's > 499 and thats what distinguishes them from the moOde built in stations but it only works if that 499 row is in cfg_radio table.
I'll try to get an in-place update made this week to fix this.
RE: Official moOde 8 support thread - Keso-moode - 03-14-2022
Successfully upgraded to 8.0.0
Small glitches with backup/restore:
- Search site in Preferences is not preserved
- Sorting and grouping of radio stations is not preserved
Rest so far so good on RPi connected to dac8 Stereo from okto research
RE: Official moOde 8 support thread - philrandal - 03-14-2022
(03-14-2022, 05:13 PM)Tim Curtis Wrote: User added stations are given id's > 499 and thats what distinguishes them from the moOde built in stations but it only works if that 499 row is in cfg_radio table.
I'll try to get an in-place update made this week to fix this.
Ah, I understand now.
These are just minor niggles. Looks good so far.
Phil
|