Skip to content

Commit 18cd1f0

Browse files
committed
Version 0.8.7.3 (0.8.8-beta2)
Merge branch 'devel' into coderholic
2 parents 7b6fd9d + f37ac23 commit 18cd1f0

29 files changed

+5767
-1375
lines changed

Changelog

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
2020-10-13 s-n-g
2+
This is a long-overdue update!
3+
This is a called a beta release in the sense that some
4+
of the intended features have not been implemented yet.
5+
6+
* Version 0.8.7.3 (0.8.8-beta2)
7+
* Adding PASTE MODE in editing windows
8+
* Finalizing alternative modes (registers, register mode,
9+
extra commands, yank i.e. copy) - implementation
10+
started in 0.8.8-beta1
11+
* Toggling transparency enabled in theme selection window
12+
* Pyradio respects global encoding
13+
* Info window gets updated as data are read
14+
* Display message when fallback theme is used (#99)
15+
* Fixing info window highlight and encoding issues
16+
* Making Station editor window size aware
17+
* Fixing -a command line parameter functionality
18+
* Build script accepts --user (for user only installation) on linux
19+
* Build script will clean up previous installation files
20+
* Fixing volume saving on Windows (mplayer)
21+
22+
Implemented in 0.8.8-beta1
23+
* Connection timeout counter
24+
* Station info window
25+
* Main help window has 3 pages now
26+
* Fixing playback restart when encoding changed
27+
28+
Not implemented yet
29+
* \p - Select playlist/register to paste station
30+
* \n - Create new playlist
31+
132
2020-03-16 s-n-g
233
* Version 0.8.7.2
334
* Fixing macOS Catalina installation
@@ -6,6 +37,20 @@
637
* Version 0.8.7.1
738
* Fixing mpv playlist option (for mpv 0.32.0)
839

40+
2020-01-26 s-n-g
41+
* 0.8.8-beta1
42+
* Adding connection timeout counter
43+
* Adding station info window
44+
* Adding registers add, remove station, clear
45+
* Adding paste station to current playlist
46+
* g prefixed by a number jumps to it (same as G)
47+
* Dead keys (alternative mode and jump number) are
48+
now displayed at the bottom right corner of the window
49+
* Main help window has 3 pages now
50+
* Fixing playback restart when encoding changed
51+
* Replacing widechar.py with cjkwrap.py and adding its
52+
update script in devel/
53+
954
2019-12-23 s-n-g
1055
* Version 0.8.7
1156
* Fixing volume issue with mpv
@@ -122,7 +167,7 @@
122167

123168
2019-06-06 s-n-g
124169
* Verion 0.7.6.2
125-
This is a BUG FIX release, fixing config status (indicating whether
170+
This is a BUG FIX release, fixing config status (indicating whether
126171
config is modified or not)
127172

128173
2019-06-02 s-n-g
@@ -190,7 +235,7 @@
190235
* Volume adjustment, saving and muting is inhibited before start
191236
of playback is detected
192237
* Playing a station in random order will not stop until a
193-
working station is acquired or another action is taken (e.g
238+
working station is acquired or another action is taken (e.g
194239
pressing a key)
195240
* Stations name is limited to window width
196241
* Station title is validated before displayed

README.html

Lines changed: 114 additions & 39 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 145 additions & 37 deletions
Large diffs are not rendered by default.

build.html

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@
1313
dd {margin: 1em;}
1414
dt {font-weight: bold;}
1515
pre { background-color: #F6F6F6; padding: 1.5em; border: 1px solid #E6E6E6; overflow: auto;}
16-
code{white-space: pre-wrap;}
17-
span.smallcaps{font-variant: small-caps;}
18-
span.underline{text-decoration: underline;}
19-
div.column{display: inline-block; vertical-align: top; width: 50%;}
16+
code{white-space: pre-wrap;}
17+
span.smallcaps{font-variant: small-caps;}
18+
span.underline{text-decoration: underline;}
19+
div.column{display: inline-block; vertical-align: top; width: 50%;}
20+
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
21+
ul.task-list{list-style: none;}
22+
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
2023
</style>
2124
<!--[if lt IE 9]>
2225
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
@@ -25,8 +28,8 @@
2528
<body>
2629
<header id="title-block-header">
2730
</header>
28-
<h1 id="building-pyradio-from-source">Building PyRadio from source</h1>
29-
<p>Command line internet radio player.</p>
31+
<h1 id="pyradio-build-instructions">PyRadio Build Instructions</h1>
32+
<p><strong>PyRadio</strong>: Command line internet radio player.</p>
3033
<p>Ben Dowling - <a target="_blank" href="https://github.com/coderholic">https://github.com/coderholic</a></p>
3134
<h2 id="table-of-contents">Table of contents <span style="padding-left: 10px;"><sup style="font-size: 50%"><a href="#" title="Go to top of the page">Top</a></sup></style></h2>
3235
<ul>

build.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Building PyRadio from source
1+
# PyRadio Build Instructions
22

3-
Command line internet radio player.
3+
**PyRadio**: Command line internet radio player.
44

55
Ben Dowling - [https://github.com/coderholic](https://github.com/coderholic)
66

devel/build_install_pyradio

Lines changed: 144 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
#!/bin/bash
2-
help(){
3-
echo "Usage: $0 [2/3/-u]
4-
2+
function help(){
3+
if [[ $(uname -s) = "Darwin" ]] || [[ $(uname -s) = "darwin" ]]; then
4+
echo "Usage: $0 [2/3/-u]"
5+
else
6+
echo "Usage: $0 [2/3/-u/--user]"
7+
fi
8+
echo "
59
Available options:
6-
2 build using python v. 2.x
7-
3 build using python v. 3.x
8-
-u uninstall pyradio
10+
2 build using python v. 2.x
11+
3 build using python v. 3.x
12+
-u uninstall pyradio
13+
--user user install (in ~/.local)
914
1015
If no option is used, will build using system default
1116
@@ -22,14 +27,73 @@ Checking python availability:"
2227
echo
2328
}
2429

25-
uninstall(){
26-
sudo rm -f `which pyradio` 2>/dev/null
27-
if [ -d /usr/share/doc/pyradio ];then
28-
sudo rm -rf /usr/share/doc/pyradio 2>/dev/null
29-
else
30-
sudo rm -rf /usr/local/share/doc/pyradio 2>/dev/null
31-
fi
32-
sudo rm -f /usr/share/man/man1/pyradio.1.gz 2>/dev/null || sudo rm -f /usr/local/share/man/man1/pyradio.1.gz 2>/dev/null
30+
function find_paths(){
31+
local APATH
32+
# Fix for MacOs Catalina python 3
33+
if [[ $(uname -s) = "Darwin" ]] || [[ $(uname -s) = "darwin" ]]; then
34+
echo /usr/local/lib
35+
fi
36+
python devel/site.py 2>/dev/null
37+
python2 devel/site.py 2>/dev/null
38+
python3 devel/site.py 2>/dev/null
39+
APATH=$(python -m site --user-site 2>/dev/null) && echo "$APATH"
40+
APATH=$(python2 -m site --user-site 2>/dev/null) && echo "$APATH"
41+
APATH=$(python3 -m site --user-site 2>/dev/null) && echo "$APATH"
42+
}
43+
44+
function remove_paths(){
45+
echo "Looking for python installed files..."
46+
find_paths | sort -u > /tmp/pyradio-uninstall.$$
47+
while read line;do
48+
[ -d "$line" ] && {
49+
sudo find "$line" -type d -name "pyradio*egg" >> /tmp/pyradio-delete.$$
50+
}
51+
done < /tmp/pyradio-uninstall.$$
52+
while read line;do
53+
[ -d "$line" ] && {
54+
echo -n "** Removing \"$(basename $line)\" ... "
55+
sudo rm -rf "$line"
56+
echo done
57+
}
58+
done < /tmp/pyradio-delete.$$
59+
rm -f /tmp/pyradio-uninstall.$$ /tmp/pyradio-delete.$$ 2>/dev/null
60+
}
61+
62+
function uninstall(){
63+
local user
64+
user=$(which pyradio 2>/dev/null) || {
65+
echo "PyRadio is not installed..."
66+
exit
67+
}
68+
sudo echo 'Uninstalling PyRadio'
69+
user=$(which pyradio | grep '\.local')
70+
[ -z "$user" ] && {
71+
echo -n '** Removing executable ... '
72+
sudo rm -f `which pyradio` 2>/dev/null
73+
if [ -d /usr/share/doc/pyradio ];then
74+
sudo rm -rf /usr/share/doc/pyradio 2>/dev/null
75+
else
76+
sudo rm -rf /usr/local/share/doc/pyradio 2>/dev/null
77+
fi
78+
echo done
79+
echo -n '** Removing help files ... '
80+
sudo rm -f /usr/share/man/man1/pyradio.1.gz 2>/dev/null || sudo rm -f /usr/local/share/man/man1/pyradio.1.gz 2>/dev/null
81+
echo done
82+
} || {
83+
echo -n '** Removing executable ... '
84+
rm -f `which pyradio` 2>/dev/null
85+
echo done
86+
echo -n '** Removing help files ... '
87+
if [ -d ~/.local/share/doc/pyradio ];then
88+
rm -rf ~/.local/share/doc/pyradio 2>/dev/null
89+
else
90+
rm -rf ~/.local/local/share/doc/pyradio 2>/dev/null
91+
fi
92+
rm -f ~/.local/share/man/man1/pyradio.1.gz 2>/dev/null
93+
echo done
94+
}
95+
#set -x
96+
remove_paths
3397
echo "PyRadio successfully uninstalled"
3498
}
3599

@@ -45,6 +109,14 @@ do
45109
uninstall
46110
exit
47111
;;
112+
--user)
113+
TO_USER=1
114+
if [[ $(uname -s) = "Darwin" ]] || [[ $(uname -s) = "darwin" ]]; then
115+
echo "Parameter --user not supported on this OS"
116+
exit 1
117+
fi
118+
shift
119+
;;
48120
2)
49121
TO_PYTHON=2
50122
shift
@@ -88,8 +160,13 @@ for prog in git sed ;do
88160
done
89161

90162
# delete any files that were left from previous attempt
91-
sudo find . -iname "*.pyc" -delete 2>/dev/null
92-
sudo find . -iname "*.egg" -delete 2>/dev/null
163+
[ -z "$TO_USER" ] && {
164+
sudo find . -iname "*.pyc" -delete 2>/dev/null
165+
sudo find . -iname "*.egg" -delete 2>/dev/null
166+
} || {
167+
find . -iname "*.pyc" -delete 2>/dev/null
168+
find . -iname "*.egg" -delete 2>/dev/null
169+
}
93170

94171
# add git repo info to project
95172
descr=$(git describe --long --tags 2>/dev/null || echo not_from_git)
@@ -109,28 +186,56 @@ rm sed.$$ 2>/dev/null
109186

110187
# build and install project
111188
python"${TO_PYTHON}" setup.py build && {
112-
echo "***** installing..."
113-
sudo python"${TO_PYTHON}" setup.py install && {
114-
gzip -k pyradio.1
115-
sudo mv -f pyradio.1.gz /usr/share/man/man1 2>/dev/null || sudo mv -f pyradio.1.gz /usr/local/share/man/man1
116-
DOC=/usr/share/doc/pyradio
117-
sudo mkdir "$DOC" 2>/dev/null
118-
if [ ! -d "$DOC" ];then
119-
# Mac OS SIP protects /usr
120-
DOC=/usr/local/share/doc/pyradio
121-
mkdir "$DOC"
122-
fi
123-
for n in README.* build.*
124-
do
125-
sudo cp "$n" "$DOC"
126-
done
127-
# copy LICENCE
128-
if [ "$DOC" = "/usr/share/doc/pyradio" ];then
129-
sudo mkdir -p /usr/share/licenses/pyradio 2>/dev/null
130-
sudo cp LICENCE /usr/share/licenses/pyradio
131-
else
132-
sudo cp LICENCE "$DOC"
133-
fi
189+
[ -z "$TO_USER" ] && {
190+
echo "***** installing..."
191+
sudo python"${TO_PYTHON}" setup.py install | tee installed && {
192+
gzip -k pyradio.1
193+
sudo mv -f pyradio.1.gz /usr/share/man/man1 2>/dev/null || sudo mv -f pyradio.1.gz /usr/local/share/man/man1
194+
DOC=/usr/share/doc/pyradio
195+
sudo mkdir "$DOC" 2>/dev/null
196+
if [ ! -d "$DOC" ];then
197+
# Mac OS SIP protects /usr
198+
DOC=/usr/local/share/doc/pyradio
199+
mkdir "$DOC"
200+
fi
201+
for n in README.* build.*
202+
do
203+
sudo cp "$n" "$DOC"
204+
done
205+
# copy LICENCE
206+
if [ "$DOC" = "/usr/share/doc/pyradio" ];then
207+
sudo mkdir -p /usr/share/licenses/pyradio 2>/dev/null
208+
sudo cp LICENCE /usr/share/licenses/pyradio
209+
else
210+
sudo cp LICENCE "$DOC"
211+
fi
212+
}
213+
} || {
214+
echo "***** installing for user..."
215+
python"${TO_PYTHON}" setup.py install --user | tee installed && {
216+
gzip -k pyradio.1
217+
mkdir -p ~/.local/share/man/man1 2>/dev/null
218+
mv -f pyradio.1.gz ~/.local/share/man/man1 2>/dev/null || mv -f pyradio.1.gz ~/.local/local/share/man/man1
219+
DOC=~/.local/share/doc/pyradio
220+
mkdir -p "$DOC" 2>/dev/null
221+
if [ ! -d "$DOC" ];then
222+
# Mac OS SIP protects /usr
223+
DOC=~/.local/local/share/doc/pyradio
224+
mkdir "$DOC"
225+
fi
226+
for n in README.* build.*
227+
do
228+
cp "$n" "$DOC"
229+
done
230+
# copy LICENCE
231+
mkdir -p ~/.local/share/licenses 2>/dev/null
232+
if [ "$DOC" = "~/.local/share/doc/pyradio" ];then
233+
mkdir -p ~/.local/share/licenses/pyradio 2>/dev/null
234+
cp LICENCE ~/.local/share/licenses/pyradio
235+
else
236+
cp LICENCE "$DOC"
237+
fi
238+
}
134239
}
135240
}
136241

@@ -142,3 +247,4 @@ python"${TO_PYTHON}" setup.py build && {
142247
#git checkout pyradio/radio.py
143248
}
144249
rm sed.$$ 2>/dev/null
250+

0 commit comments

Comments
 (0)