From da4a3891bade6e4844ae866fe210145a3c832818 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 01:57:13 +0100 Subject: [PATCH 01/14] Update README.md --- README.md | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 58979a8..101709c 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,35 @@ # banshy! -A flavoured-old-banshee music player +Banshy is a multimedia player inspired by the ol' good Banshee. This project is a humble attempt to emulate the functionality of the long time ago abandoned app. Developed in Ruby, utilizing the GTK3 library for the user interface and GStreamer for multimedia playback. With this application, users can enjoy their favorite audio and video files with ease. It allows to store, organize your media files into playlists and easily switch from video to audio files. It's compatible with Gnome Desktop. + +[Screencast from 31-03-2024 01:46:06.webm](https://github.com/robertobermudez/banshy/assets/1206729/179074a3-3f9a-4245-8f41-03c190e5520e) + + +### Prerequisites + +Ruby: Make sure you have Ruby installed on your system. You can download it from https://www.ruby-lang.org. +GTK3: Ensure that GTK3 is installed. If not, you can install it using your system's package manager. For example, on Ubuntu, you can install it with the following command: + +```bash +sudo apt-get install libgtk-3-dev +``` +GStreamer: Install GStreamer, which is used for multimedia playback. Again, you can use your system's package manager to install it. For example, on Ubuntu: +```bash +sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev +``` + +Clone into your home folder + +```bash +git clone https://github.com/robertobermudez/banshy.git +``` + +```bash +cd banshy +bundle exec install +bundle exec rake migrate:up +./banshy +``` + ### Skeleton of the project . @@ -14,5 +44,3 @@ A flavoured-old-banshee music player │   └── ui │   └── test - -banshy From dafcff959cdffa114262e77c8b616899b2226e78 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 17:30:21 +0200 Subject: [PATCH 02/14] Create ruby.yml --- .github/workflows/ruby.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/ruby.yml diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml new file mode 100644 index 0000000..3d479c6 --- /dev/null +++ b/.github/workflows/ruby.yml @@ -0,0 +1,38 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake +# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby + +name: Ruby + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +permissions: + contents: read + +jobs: + test: + + runs-on: ubuntu-latest + strategy: + matrix: + ruby-version: ['2.6', '2.7', '3.0'] + + steps: + - uses: actions/checkout@v3 + - name: Set up Ruby + # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, + # change this to (see https://github.com/ruby/setup-ruby#versioning): + # uses: ruby/setup-ruby@v1 + uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true # runs 'bundle install' and caches installed gems automatically + - name: Run tests + run: bundle exec rake From 97e72ff303f894bd79a4e409e2bcfffbf6a74856 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 17:32:58 +0200 Subject: [PATCH 03/14] Update ruby.yml --- .github/workflows/ruby.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 3d479c6..336b2e0 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -34,5 +34,7 @@ jobs: with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true # runs 'bundle install' and caches installed gems automatically + - name: Install gems + run: bundle install - name: Run tests run: bundle exec rake From c9a823e421fd0b21ba734f870c243cd471e19239 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 17:34:25 +0200 Subject: [PATCH 04/14] Update ruby.yml --- .github/workflows/ruby.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 336b2e0..112b485 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: ['2.6', '2.7', '3.0'] + ruby-version: ['3.0'] steps: - uses: actions/checkout@v3 From 120e48494875d7405ba0b8bee84413de872d2807 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 17:36:07 +0200 Subject: [PATCH 05/14] Update ruby.yml --- .github/workflows/ruby.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 112b485..3e548e0 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -29,8 +29,8 @@ jobs: - name: Set up Ruby # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, # change this to (see https://github.com/ruby/setup-ruby#versioning): - # uses: ruby/setup-ruby@v1 - uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0 + uses: ruby/setup-ruby@v1 + # uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0 with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true # runs 'bundle install' and caches installed gems automatically From 34c7705da4f833934045c33a0b6560ef766d07b0 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 17:39:24 +0200 Subject: [PATCH 06/14] Update ruby.yml --- .github/workflows/ruby.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 3e548e0..119d7e0 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -30,11 +30,9 @@ jobs: # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, # change this to (see https://github.com/ruby/setup-ruby#versioning): uses: ruby/setup-ruby@v1 - # uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0 + # uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146. with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true # runs 'bundle install' and caches installed gems automatically - - name: Install gems - run: bundle install - name: Run tests run: bundle exec rake From fdf7231d368af868aed3c788d6463ce65f7c32c9 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 18:07:23 +0200 Subject: [PATCH 07/14] Update ruby.yml --- .github/workflows/ruby.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 119d7e0..48dcfbd 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -26,6 +26,12 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install build-essential + sudo apt-get install libgirepository1.0-dev + - name: Set up Ruby # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, # change this to (see https://github.com/ruby/setup-ruby#versioning): From 7006e76625121a81b8d9019eab6773710b7d4b50 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 18:10:15 +0200 Subject: [PATCH 08/14] Update ruby.yml --- .github/workflows/ruby.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 48dcfbd..fb43c7d 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -29,7 +29,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install build-essential + sudo apt-get install build-essential gtk3 sudo apt-get install libgirepository1.0-dev - name: Set up Ruby From b6811699977326834290fdbe15347dadbadf5823 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 18:14:03 +0200 Subject: [PATCH 09/14] Update ruby.yml --- .github/workflows/ruby.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index fb43c7d..f88cefe 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -28,8 +28,8 @@ jobs: - uses: actions/checkout@v3 - name: Install dependencies run: | - sudo apt-get update - sudo apt-get install build-essential gtk3 + sudo apt-get update sqlite3 + sudo apt-get install build-essential sudo apt-get install libgirepository1.0-dev - name: Set up Ruby From 922db03cc7f5972d501fc615374833b83e438ebf Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 18:17:27 +0200 Subject: [PATCH 10/14] Update ruby.yml --- .github/workflows/ruby.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index f88cefe..2e1bae9 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -28,9 +28,8 @@ jobs: - uses: actions/checkout@v3 - name: Install dependencies run: | - sudo apt-get update sqlite3 - sudo apt-get install build-essential - sudo apt-get install libgirepository1.0-dev + sudo apt-get update + sudo apt-get install build-essential sqlite3 ruby-dev libgirepository1.0-dev - name: Set up Ruby # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, From d0987f0cfce94f587af1ccf08681eb40cb12ddf0 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 18:21:11 +0200 Subject: [PATCH 11/14] Update ruby.yml --- .github/workflows/ruby.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 2e1bae9..26b9658 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -29,7 +29,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install build-essential sqlite3 ruby-dev libgirepository1.0-dev + sudo apt-get install build-essential sqlite3 ruby-dev libgirepository1.0-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev - name: Set up Ruby # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, From 466f21b91e868031ab9af7048a6a2d72307da2a0 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 18:23:05 +0200 Subject: [PATCH 12/14] Update ruby.yml --- .github/workflows/ruby.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 26b9658..d92bee3 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -29,7 +29,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install build-essential sqlite3 ruby-dev libgirepository1.0-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev + sudo apt-get install build-essential sqlite3 ruby-dev libgirepository1.0-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libunwind-dev - name: Set up Ruby # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, From e3d4aa04ffc46a5471ff22472f6057649daac9e9 Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 18:27:14 +0200 Subject: [PATCH 13/14] Update ruby.yml --- .github/workflows/ruby.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index d92bee3..111bf76 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -29,7 +29,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install build-essential sqlite3 ruby-dev libgirepository1.0-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libunwind-dev + sudo apt-get install build-essential sqlite3 ruby-dev libgirepository1.0-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libunwind-dev xvfb - name: Set up Ruby # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, From 2b0a5eee228afbe6cfb91c03af0d892dff69415a Mon Sep 17 00:00:00 2001 From: rbermudez Date: Sun, 31 Mar 2024 18:30:13 +0200 Subject: [PATCH 14/14] Update ruby.yml --- .github/workflows/ruby.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 111bf76..438ff94 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -29,7 +29,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install build-essential sqlite3 ruby-dev libgirepository1.0-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libunwind-dev xvfb + sudo apt-get install -y build-essential sqlite3 ruby-dev libgirepository1.0-dev libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libunwind-dev xvfb - name: Set up Ruby # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, @@ -40,4 +40,4 @@ jobs: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true # runs 'bundle install' and caches installed gems automatically - name: Run tests - run: bundle exec rake + run: xvfb-run bundle exec rake