Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v2 Beta1 final push #177

Merged
merged 102 commits into from
Jan 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
e75868c
Data model refctor
technosf Nov 17, 2024
f48ada8
favicon loading for header bar
technosf Nov 17, 2024
8a15712
Refactoring, rbi metadata, naps, fades
technosf Nov 21, 2024
4dff46e
Fades basics
technosf Nov 22, 2024
35ebd1d
Migration from v1. Refactored init for consistency
technosf Nov 22, 2024
6570f78
Favicon reload logic
technosf Nov 22, 2024
481711a
Station title width
technosf Nov 23, 2024
9fa6877
App monitors network
technosf Nov 23, 2024
f0efc75
Offline bool and cancellable, plus offline look basicaly OK
technosf Nov 23, 2024
0a01315
Dimming in progress
technosf Nov 23, 2024
c8b969c
Provider API
technosf Nov 23, 2024
5f8ac6e
Provider working
technosf Nov 24, 2024
5195ccd
Cancellables
technosf Nov 24, 2024
ff20170
Window prerefactor
technosf Nov 25, 2024
9727245
Window half done
technosf Nov 25, 2024
52f2434
Header transitions, genere and window refactor
technosf Nov 26, 2024
031df4b
Network state > availability check in App
technosf Nov 26, 2024
4577953
New symbolic icons. All icons alighed and regened
technosf Nov 26, 2024
54a78ef
icon
technosf Nov 26, 2024
f2dcc80
Moved commonalities to namespace. Updated genres
technosf Nov 27, 2024
6f83689
Window category refactoring
technosf Nov 27, 2024
d499a81
Consolidated category creation
technosf Nov 27, 2024
9f181aa
Background
technosf Nov 27, 2024
ea30e78
Starred count
technosf Nov 27, 2024
535e23e
Saved searches initial
technosf Dec 1, 2024
10fbebf
Cleaning up
technosf Dec 2, 2024
d3d6018
Encoding of search text
technosf Dec 3, 2024
536f4bc
RB api clean up and helpers
technosf Dec 4, 2024
a46001b
Refactored Window, added random play
technosf Dec 6, 2024
657d8b2
Refactored Window Paned out to new Display class
technosf Dec 6, 2024
312ad79
Cycling reveal added
technosf Dec 8, 2024
dbdbb5b
Settings and PlayButton
technosf Dec 9, 2024
f290409
Voting and use of resolved Url
technosf Dec 9, 2024
bf309a2
Cycling reveal finesse
technosf Dec 10, 2024
d1be563
Themes working
technosf Dec 10, 2024
893c5c6
m3u export
technosf Dec 10, 2024
0388a9e
Stream metadata finessing
technosf Dec 12, 2024
019409c
Merge branch 'louis77:development' into development
technosf Dec 13, 2024
69248a8
Metadata handling, Lable cycling
technosf Dec 14, 2024
294b1dd
Player display animation cleanup. Safestrip func for text
technosf Dec 16, 2024
af97962
Station change locking
technosf Dec 17, 2024
29a736b
Export of M3U and Import of UUIDs
technosf Dec 18, 2024
27db9f1
Jukebox mode
technosf Dec 19, 2024
77af9d0
Clean up
technosf Dec 21, 2024
d88a9a2
Pushed starred sig down to station, removed redundant code, sigs
technosf Dec 21, 2024
8293019
Station star sig rewiring
technosf Dec 23, 2024
e9de984
Damping the station favicon movement
technosf Dec 23, 2024
5cc7942
Starred station update
technosf Dec 24, 2024
96061ae
Title metadata popup
technosf Dec 24, 2024
81bf04f
Saved search new pop
technosf Dec 25, 2024
3cc1e10
Moving to io.github from com.github per Flathub linting etc.
technosf Dec 26, 2024
dc8f807
Augmented genres
technosf Dec 26, 2024
523e328
Update main.yml
technosf Dec 26, 2024
b47ea04
Merge pull request #173 from louis77/main
technosf Dec 26, 2024
0fbd21e
Cleaning up reveal label
technosf Dec 26, 2024
8d66095
Merge remote-tracking branch 'origin/development' into development
technosf Dec 26, 2024
463c2ca
PlayerInfo clean up
technosf Dec 27, 2024
7bfa921
RevealLabel revert
technosf Dec 27, 2024
96c04d4
DataProvider info
technosf Dec 27, 2024
7ee0409
Start on starred and Provider info tooltip
technosf Dec 27, 2024
fbd7974
Popularity added to tooltip
technosf Dec 27, 2024
0b2831f
MPRIS next for Jukebox shuffle mode
technosf Dec 27, 2024
12df7b8
MPRIS refactor
technosf Dec 27, 2024
287c6ef
SourceList rationalization, refactoring
technosf Dec 28, 2024
4d76ea0
Favicon button refactored to use sigs
technosf Dec 29, 2024
1aeac13
Open to starred
technosf Dec 29, 2024
2f343ba
Local metadata update sync
technosf Dec 29, 2024
78f934d
Async search added
technosf Dec 29, 2024
454361c
StationLists added. Player delay. Formatting others.
technosf Dec 30, 2024
e692ea2
SearchController added
technosf Dec 30, 2024
56ba285
Search results display search term
technosf Dec 30, 2024
a746ad0
Search and Starred info added to box header
technosf Dec 30, 2024
a34493f
Jukebox star hookup.
technosf Dec 30, 2024
7978339
Metadata sig added station.
technosf Dec 30, 2024
e4d3ebb
Rationalized station-starred hookups
technosf Dec 30, 2024
41c5571
Saved search tooltip clean up on removal
technosf Dec 30, 2024
06290ca
com>io
technosf Dec 31, 2024
455a530
com>io
technosf Dec 31, 2024
aa382c3
Metadata update. Start to use CSS for theming.
technosf Jan 1, 2025
a88013a
Remove io.elementry as the runtime
technosf Jan 1, 2025
e907fc7
Update io.github.louis77.tuner.yml
technosf Jan 1, 2025
e9b387a
Update main.yml
technosf Jan 1, 2025
0fa0e6c
Create dev.yml
technosf Jan 1, 2025
409379c
Update main.yml
technosf Jan 1, 2025
19aad91
Update io.github.louis77.tuner.yml
technosf Jan 1, 2025
7bca7fe
Update dev.yml
technosf Jan 1, 2025
c6e0708
Update dev.yml
technosf Jan 1, 2025
97cb1b6
Update dev.yml
technosf Jan 1, 2025
a273b07
Update io.github.louis77.tuner.yml
technosf Jan 1, 2025
fec5dce
Renaming for clarity
technosf Jan 2, 2025
60b8cb9
Clickcount clean up. Changeuuid broken fudge.
technosf Jan 3, 2025
57f4bb0
Doc update
technosf Jan 3, 2025
2d0906f
Renaming metadata
technosf Jan 3, 2025
584cb50
Font tweaks, doc image sizing
technosf Jan 3, 2025
217ca01
Merge branch 'development' into pr/technosf/5
technosf Jan 3, 2025
440f132
Finalizing merge
technosf Jan 3, 2025
535bfb2
Merge pull request #5 from louis77/development
technosf Jan 3, 2025
4c9fb42
Merge pull request #174 from technosf/development
technosf Jan 3, 2025
1bcadee
Naming clean-up and flathub build changes
technosf Jan 4, 2025
65311c6
Renaming metadata in gschema
technosf Jan 4, 2025
aeb8942
Final look/feel tweek
technosf Jan 4, 2025
13848d9
Merge pull request #176 from technosf/development
technosf Jan 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .github/workflows/dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Build and Test

on:
push:
branches:
- development
paths-ignore:
- '.github/**'
- 'docs/**'
- '**.md'
- '**.mm'
pull_request:
branches:
- development
paths-ignore:
- '.github/**'
- 'docs/**'
- '**.md'
- '**.mm'

jobs:
flatpak:
name: "Flatpak"
runs-on: ubuntu-latest
container:
image: bilelmoussaoui/flatpak-github-actions:freedesktop-24.08
options: --privileged
steps:
- uses: actions/checkout@v4
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: io.github.louis77.tuner.flatpak
manifest-path: io.github.louis77.tuner.yml
cache-key: flatpak-builder-${{ github.sha }}
6 changes: 2 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ on:
push:
branches:
- main
- development
paths-ignore:
- '.github/**'
- 'docs/**'
Expand All @@ -14,7 +13,6 @@ on:
pull_request:
branches:
- main
- development
paths-ignore:
- '.github/**'
- 'docs/**'
Expand All @@ -30,7 +28,7 @@ jobs:

# This job runs in a special container designed for building Flatpaks for AppCenter
container:
image: ghcr.io/elementary/flatpak-platform/runtime:8
image: ghcr.io/flathub-infra/flatpak-github-actions:freedesktop-24.08
options: --privileged

# Steps represent a sequence of tasks that will be executed as part of the job
Expand All @@ -44,7 +42,7 @@ jobs:
# This is the name of the Bundle file we're building and can be anything you like
bundle: Tuner.flatpak
# This uses your app's RDNN ID
manifest-path: com.github.louis77.tuner.yml
manifest-path: io.github.louis77.tuner.yml

# You can automatically run any of the tests you've created as part of this workflow
run-tests: true
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,17 @@ build
builddir
build-aux
*~
apidocs/*
.vscode
.buildconfig
.flatpak-builder
.flatpak
code.sh
favicon.ico
tuner.code-workspace
.~lock.tags.ods#
.~lock.tags.ods#
labelexpand.ods
tuner-starred.m3u8
uncrustify.cfg
repo/*
20 changes: 12 additions & 8 deletions DEVELOP.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Discover and Listen to your favourite internet radio stations, and add improve t
- [Tuner Development](#tuner-development)
- [Dependencies](#dependencies)
- [Building the Tuner App From Source](#building-the-tuner-app-from-source)
- [Valadoc](#valadoc)
- [Building the Tuner Flatpak](#building-the-tuner-flatpak)
- [Readying code for a Pull Request](#readying-code-for-a-pull-request)
- [NamingConventions](#namingconventions)
Expand Down Expand Up @@ -49,7 +50,7 @@ sudo apt install libgtk-3-dev libgee-0.8-dev libgranite-dev libgstreamer1.0-dev
```

### Building the Tuner App From Source
There are two build configurations: _debug_ and _release_. The _debug_ build (manifest _com.github.louis77.tuner.debug.yml_) is recommended for development, while the _release_ build (manifest _com.github.louis77.tuner.yml_) is for distribution. Build instructions will focus on the _debug_ build. Copy the required manifest to _com.github.louis77.tuner.xml_ before building.
There are two build configurations: _debug_ and _release_. The _debug_ build (manifest _io.github.louis77.tuner.debug.yml_) is recommended for development, while the _release_ build (manifest _io.github.louis77.tuner.yml_) is for distribution. Build instructions will focus on the _debug_ build. Copy the required manifest to _io.github.louis77.tuner.xml_ before building.


Clone the repo and drop into the Tuner directory:
Expand All @@ -63,7 +64,7 @@ Configure Meson for development debug build, build Tuner with Ninja, and run the
meson setup --buildtype=debug builddir
meson compile -C builddir
meson install -C builddir # only needed once to get the gschema in place
./builddir/com.github.louis77.tuner
./builddir/io.github.louis77.tuner
```

Tuner can be deployed to the local system to bypass flatpak if required, however it is _recommended to use flatpak_.To do deploy locally, run the following command:
Expand All @@ -72,6 +73,9 @@ meson configure -Dprefix=/usr
sudo ninja install
```

## Valadoc
valadoc --force --pkg gtk+-3.0 --pkg glib-2.0 --pkg gee-0.8 --pkg gio-2.0 --pkg libsoup-3.0 --pkg json-glib-1.0 --pkg gstreamer-1.0 --pkg gstreamer-player-1.0 --pkg granite --package-name=Tuner -o apidocs --verbose src/**/*.vala


### Building the Tuner Flatpak
Tuner uses the __elementary.io__ platform, version __8__. To build the tuner flatpak, install the elementry SDK and Platform:
Expand All @@ -83,19 +87,19 @@ flatpak install elementary io.elementary.Sdk//8 io.elementary.Platform//8

Build the flatpak in the _user_ scope:
```bash
flatpak-builder --force-clean --user --sandbox --install build-dir com.github.louis77.tuner.debug.yml
flatpak-builder --force-clean --user --sandbox --install build-dir io.github.louis77.tuner.debug.yml
```

Run the Tuner flatpack:
```bash
flatpak --user run com.github.louis77.tuner
flatpak --user run io.github.louis77.tuner
```
Check the app version to ensure that it matches the version in the manifest.

### Readying code for a Pull Request
Before a pull request can be accepted, the code must pass linting. This is done by running the following command:
```bash
flatpak run --command=flatpak-builder-lint org.flatpak.Builder manifest com.github.louis77.tuner.yml
flatpak run --command=flatpak-builder-lint org.flatpak.Builder manifest io.github.louis77.tuner.yml
```

Linting currently produces the following issues (adddressed in ticket #140):
Expand Down Expand Up @@ -139,7 +143,7 @@ Debugging from VSCode using GDB, set up the launch.json file as follows:
"name": "Debug Vala with Meson",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/builddir/com.github.louis77.tuner",
"program": "${workspaceFolder}/builddir/io.github.louis77.tuner",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
Expand Down Expand Up @@ -172,7 +176,7 @@ After checking out the required version, build and run the app as described abov


## Release Process
Releasing _Tuner_ comprises cutting a release of the code in [tuner github](https://github.com/louis77/tuner) and then updating the [flathub repo](https://github.com/flathub/com.github.louis77.tuner) which will automatically have the flatpak generated and rolled to Flathub for distribution.
Releasing _Tuner_ comprises cutting a release of the code in [tuner github](https://github.com/louis77/tuner) and then updating the [flathub repo](https://github.com/flathub/io.github.louis77.tuner) which will automatically have the flatpak generated and rolled to Flathub for distribution.

### Beta Releases
Beta releases should be tagged from the Tuner _development_ branch in with a version number format of _v1.\*.\*-beta.\*_
Expand All @@ -186,6 +190,6 @@ Once a beta roll is deamed a success its pull request can be merged, and a produ
### Production Releases
Production releases are generated from _development_ pull requests into _main_. The updated _main_ branch should be tagged with a version number format of _v1.\*.\*_

Once a release has been tagged, the [flathub repo](https://github.com/flathub/com.github.louis77.tuner) _main_ branch can be updated with the _release_ tag going into the manifest _.json_, and any patches and documentation updated as needed. Updates from the _main_ branch should be copied in from a direct _pull request_ of the _main_ branch. The _main_ branch **should not** come from a merge _beta_ branch to avoid triggering subsequent builds in _beta_ .
Once a release has been tagged, the [flathub repo](https://github.com/flathub/io.github.louis77.tuner) _main_ branch can be updated with the _release_ tag going into the manifest _.json_, and any patches and documentation updated as needed. Updates from the _main_ branch should be copied in from a direct _pull request_ of the _main_ branch. The _main_ branch **should not** come from a merge _beta_ branch to avoid triggering subsequent builds in _beta_ .

Once the main production release is built by flathub it will be available for installation and automatically distributed to user community.
6 changes: 3 additions & 3 deletions PACKAGING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@ $ flatpak run org.freedesktop.appstream-glib validate [path-to-xml]
### Test different languages

```
$ LANGUAGE=de_DE ./com.github.louis77.tuner
$ LANGUAGE=de_DE ./io.github.louis77.tuner

```

## Flatpak

The flathub build manifest can be found here:
https://github.com/louis77/flathub/tree/com.github.louis77.tuner
https://github.com/louis77/flathub/tree/io.github.louis77.tuner

- [ ] Move over to a non-elementary base image

Expand All @@ -45,7 +45,7 @@ https://github.com/louis77/pacstall-programs
https://docs.elementary.io/develop/writing-apps/logging

```bash
$ G_MESSAGES_DEBUG=all ./com.github.louis77.tuner
$ G_MESSAGES_DEBUG=all ./io.github.louis77.tuner
```

### Available elementary Icons
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@ Things I need help with:
### Flathub

Tuner is available asa Flatpak on Flathub:
https://flathub.org/apps/details/com.github.louis77.tuner
https://flathub.org/apps/details/io.github.louis77.tuner

### elementary OS

Install Tuner via elementary's App store:
https://appcenter.elementary.io/com.github.louis77.tuner
https://appcenter.elementary.io/io.github.louis77.tuner

### Arch Linux / AUR
Arch-based GNU/Linux users can find `Tuner` under the name [tuner-git](https://aur.archlinux.org/packages/tuner-git/) in the **AUR**:
Expand Down Expand Up @@ -100,7 +100,7 @@ While I hacked on this App, I discovered so many cool and new stations, which ma
## Environment Variables

* `TUNER_API` - a `:` separated list of API servers to read from, e.g.
* `export TUNER_API="de1.api.radio-browser.info:nl1.api.radio-browser.info"; com.github.louis77.tuner`
* `export TUNER_API="de1.api.radio-browser.info:nl1.api.radio-browser.info"; io.github.louis77.tuner`


## Build, Maintance and Development of Tuner
Expand All @@ -121,7 +121,7 @@ $ sudo apt install gstreamer1.0-libav
```

#### 'Failed to load module "xapp-gtk3-module"'
Running Tuner from the CLI with `flatpak run com.github.louis77.tuner` may produce a message like the following:
Running Tuner from the CLI with `flatpak run io.github.louis77.tuner` may produce a message like the following:

`Gtk-Message: 10:01:00.561: Failed to load module "xapp-gtk3-module"`

Expand Down
48 changes: 0 additions & 48 deletions com.github.louis77.tuner.yml.release

This file was deleted.

47 changes: 0 additions & 47 deletions data/Application.css

This file was deleted.

15 changes: 0 additions & 15 deletions data/com.github.louis77.tuner.gresource.xml

This file was deleted.

15 changes: 15 additions & 0 deletions data/css/Tuner-dark.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
* SPDX-License-Identifier: GPL-3.0-or-later
* SPDX-FileCopyrightText: 2020-2022 Louis Brauer <louis@brauer.family>
*/

@import url("Tuner-system.css");

* {
background-color: rgba(71, 71, 71, 0.9); /* Dark background with 80% opacity */
color: #ffffff; /* White text for contrast */
}

button {
background-color: rgba(46, 46, 46, 0.0);
}
15 changes: 15 additions & 0 deletions data/css/Tuner-light.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
* SPDX-License-Identifier: GPL-3.0-or-later
* SPDX-FileCopyrightText: 2020-2022 Louis Brauer <louis@brauer.family>
*/

@import url("Tuner-system.css");

* {
background-color: rgba(200, 200, 200, 0.9);
color: #000000;
}

button {
background-color: rgba(200, 200, 200, 0.0);
}
Loading
Loading