• Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Strawberry Music Player Forums
    2. Gustavo L Conte
    3. Best
    • Profile
    • Following 1
    • Followers 0
    • Topics 4
    • Posts 80
    • Best 13
    • Controversial 0
    • Groups 0

    Best posts made by Gustavo L Conte

    • RE: What Do You Listen To?

      Hey guys nice topic! I'm very ecletic, but usually listen to rock and roll, oldies, br popular music (MPB) and electronic like kraftwerk or Jean Michel Jarre. Also like strokes, libertines, strawbs, well, as I said I'm quite ecletic. This includes even Shakira or Kylie Minogue lol

      I've recently published my own instrumental songs (as GUSTAVO L CONTE) on Qobuz, tidal, spotify, YT, apple, etc, that I make on Linux with Renoise tracker. When the process finishes there will be about seven EPs available!
      I'm an enthuasiast, but some songs have its moments lol
      please give a peek if you can
      tks!! !

      ELETROlambada.jpg

      https://push.fm/fl/c9npojzb

      https://music.youtube.com/channel/UCmtpR0fsOuwqkXRT4cLCqTA

      posted in Music
      Gustavo L ConteG
      Gustavo L Conte
    • RE: Strawberry & Easytag

      @ashley194 said in Strawberry & Easytag:

      a day ago

      Hi all, First off, I'm running Debian 12.6 "Bookworm" KDE DE.

      In Strawberry, every time I select 'Show in file browser' in the context menu it opens up Easytag instead of the Dolphin file manager!

      Open a terminal.
      Execute

      xdg-open .
      

      to see if it opens Dolphin. If not, you might need to fix the association. Sometimes xdg-open might be pointing to the wrong application. If xdg-open is opening files with the wrong application, you can fix this by adjusting your MIME type associations or setting the correct default application for handling specific types of files.

      EXAMPLES

      For Directories (typically handled by file managers like Dolphin):

      xdg-mime default dolphin.desktop inode/directory
      

      or, i.e. For Text Files:

      xdg-mime default kate.desktop text/plain
      

      or, For PDF Files:

      xdg-mime default okular.desktop application/pdf
      

      the query mistekko sent is very useful to debug which default application is set for opening folders, which is the case. The first command I sent is useful to actually test if the problem lies in Strawberry or system-wide.

      posted in Technical Help
      Gustavo L ConteG
      Gustavo L Conte
    • RE: Reintegrate projectM Visualizer
      if (projectm_) {
          short samples_per_channel = static_cast<short>(map.size / sizeof(size_t) / 2);
          const short *data = reinterpret_cast<short*>(map.data);
          projectm_->pcm()->addPCM16Data(data, samples_per_channel);
        }
      

      I think I finally got it. Output is finnally as expected, interacting with the song. We only have to divide by sizeof size_t, in samples_per_channel!!!! Now its working just like when I use the pulseaudio Capture code. (also I've removed the resetGL on the render loop)

      Screenshot from 2024-07-05 16-52-13.png
      Zylot - Crosshair Dimension (Light of the Ages)

      Now we need to fix the projection / OpenGL extensions or whatever is wrong that brakes rendering of plugins.

      posted in Development
      Gustavo L ConteG
      Gustavo L Conte
    • RE: External User commands

      To integrate user-defined commands into Strawberry Music Player without requiring programming changes to its code, we can leverage UNIX concepts like shell scripting, command-line utilities, and inter-process communication.

      Tools like zenity can be useful for creating a GUI

      #!/bin/bash
      
      # Define actions
      ACTION=$(zenity --list --title="Strawberry Actions" \
          --column="Action" --height=300 \
          "Check Integrity" \
          "Normalize Volume (ReplayGain)" \
          "Open in Editor" \
          "Move Files" \
          "Display Spectrogram" \
          "Query Database" \
          "Cancel")
      
      case $ACTION in
          "Check Integrity")
              echo "Checking integrity of files..."
              # Implement your integrity check command here
              ;;
          "Normalize Volume (ReplayGain)")
              echo "Normalizing volume..."
              # Add replaygain command here
              ;;
          "Open in Editor")
              echo "Opening files in editor..."
              # Example: open the currently selected file in a text editor
              xdg-open "$CURRENT_FILE"
              ;;
          "Move Files")
              echo "Moving files..."
              # Example: mv selected files to another directory
              mv "$CURRENT_FILE" /path/to/destination/
              ;;
          "Display Spectrogram")
              echo "Generating spectrogram..."
              # Example: display spectrogram for current track
              sox "$CURRENT_FILE" -n spectrogram
              ;;
          "Query Database")
              echo "Querying database..."
              # Custom query logic here
              ;;
          *)
              echo "Cancelled."
              ;;
      esac
      

      Integrate with Strawberry Use Strawberry's command-line options to pass information about the current track or playlist. Strawberry supports commands like:

      --playuri <uri>: Play a specific track.
      --stop: Stop playback.
      --next: Play the next track.

      Combine this with environment variables to pass the currently playing track:

      CURRENT_FILE=$(strawberry --playuri | awk '{print $1}')
      

      Create a Keybinding Use a global hotkey (e.g., via your desktop environment or a tool like xbindkeys) to trigger the script. This avoids modifying Strawberry itself.

      Share Scripts Create a shared directory (e.g., ~/.strawberry-scripts) where users can place their custom commands. Your main script could dynamically load commands from this directory.

      Benefits

      • MOSTLY No coding changes to Strawberry itself.
      • Highly flexible: users can define their commands.
      • Simple integration using existing UNIX tools.
      • Community-friendly: users can share scripts.

      EDIT> It just occured to me that this approach would not be good for Windows users, shucks

      posted in Feature Suggestions
      Gustavo L ConteG
      Gustavo L Conte
    • RE: Library cleared when external drive not connected

      @bebelalu55
      try disabling Library scan during startup.
      Probably it is rescanning and without the external storage, the library becomes empty.

      posted in Technical Help
      Gustavo L ConteG
      Gustavo L Conte
    • RE: Position indicator very difficult to see over moodbar when using a dark theme.

      Using qt6ct you can enable under stylesheets a new slider, that has much more visibility
      but It also disables the moodbar 😞

      I agree about the difficulty to see the indicator over moodbar.... could be something that we could customize on the program itself, at least color or width, dunno

      posted in General Discussion
      Gustavo L ConteG
      Gustavo L Conte
    • RE: Reintegrate projectM Visualizer

      Yes! Put this on drawBackground , just after the Init()
      also, remove the resetGL

      glShadeModel(GL_SMOOTH);
      glClearColor(0, 0, 0, 0);
      glViewport(0, 0, width(), height());
      glMatrixMode(GL_TEXTURE);
      glLoadIdentity();
      glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
      glMatrixMode(GL_MODELVIEW);
      glLoadIdentity();
      glDrawBuffer(GL_BACK);
      glReadBuffer(GL_BACK);
      glEnable(GL_BLEND);
      
      glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
      glEnable(GL_LINE_SMOOTH);
      glEnable(GL_POINT_SMOOTH);
      glClearColor(0.0F, 0.0F, 0.0F, 0.0F);
      glLineStipple(2, 0xAAAA);
      

      also change the ConsumeBuffer as I sent the post before. Tell me what happes; I'm done here.

      posted in Development
      Gustavo L ConteG
      Gustavo L Conte
    • WakkaQt - a Karaoke recorder written in C++ and Qt6

      This software is currently in Alpha stage for developers to test. Help requested: for Windows and MacOS tests. NOTE: gStreamer is mandatory on all platforms.

      WakkaQt - Karaoke App

      WakkaQt is a karaoke application built with C++ and Qt6, designed to record vocals over a video/audio track and mix them into a rendered file.
      This app features webcam recording, YouTube video downloading, real-time sound visualization, and post-recording video rendering with FFmpeg, also it uses an open-source Auto Tune algorithm called XC42, by Gareus, featuring automatic masterization of the final track with noise reduction, normalization, compression, etc.
      You can adjust the volume of the vocals before rendering and you can render how many times you want until you are satisfied with the final mix.

      It records audio only too, but a webcam is still mandatory.
      You can use different input audio sources than the webcam, but I still need to program a method to choose different webcams, if the user had multiple webcams.
      In the future I believe I'm going to improve masterization, autotune and add some optional effects to audio and video.
      Also intend to improve the sync method of video, vocals and playback, I'm not satisfied with it since I could not test in several different platforms. as a far feature I intend to use FFMpeg not as an external process, but via libav, programmed in an integrated right into the APP, instead of calling a sub-process. Same wish here with youtube downloader, which is also an external program. (yt-dlp)

      Its pretty easy to use, follow the instructions onscreen basically.

      • if you want to download a karaoke playback from YouTube, just paste the URL and press FETCH
      • When a playback is loaded, Qt6 will preview the video and the SING button becomes available.
      • This will force you into a dialog to choose the correct audio input source for the session and after that, recording starts, indicated by the RED circle.
      • Anytime, when you're done, just press FINISH and you will be prompted to preview the vocals-only, without any effect.
      • In this dialog you are able to adjust the volume for the final mix.
      • By clicking render, ffmpeg is invoked and the coolest progress bar ever made on earth will indicate FFMpeg render progress! YEAH!
      • and after rendering it will preview the final mix; you can RENDER AGAIN by pressing the button, if you are not satisfied with the volume adjustment. You can adjust to 0 - 100% and up to 500%; less than 100% reduces volume while values higher than 100% amplifies.

      wakka-logo.png

      And now i'm very sorry for posting this, but i must show an example lol
      god have mercy
      tks guys

      link text
      https://gu.pro.br/seven/

      Requirements

      To build and run this application, ensure you have the following:

      C++17 or later
      Qt6 (Qt Multimedia module)
      FFmpeg binary (for video/audio mixing and rendering)
      yt-dlp binary (for downloading YouTube videos)
      gStreamer is necessary for the vocals-preview dialog

      Install LV2 plugin for AutoTune
      https://x42-plugins.com/x42/x42-autotune

      Thank you for having FUN!

      https://github.com/guprobr/WakkaQt

      posted in General Discussion
      Gustavo L ConteG
      Gustavo L Conte
    • RE: Reintegrate projectM Visualizer

      @Starberry , @kblaschke

      That's something I'd really like to happen so I'm on it
      the logic behind my promise is a little fuzzy: Give me a little bit of time.... since bits are just one's or zero's, "a little bit" is quite controversial.. LoL 🍕

      anyway

      let's do this ! 💨

      posted in Development
      Gustavo L ConteG
      Gustavo L Conte
    • RE: Reintegrate projectM Visualizer

      I had success starting to display stuff with v4 using QOpenGLWindow in a separate, smaller program. Soon I'll upload the code, I just need to adjust some things like resize and OpenGL context. I've used as ConsumeBuffer the pulseaudio capture code. I just need to adjust some stuff i think to make it better, but i got so excited about a positive display in v4 that i wanted to share ASAP

      LoooooooooooooooooooooooooooL!

      PS: still, several GL error 1282 in the majority of presets tested.

      Screenshot from 2024-07-24 09-19-42.png

      while some actually works ❤

      Screenshot from 2024-07-24 10-07-52.png

      posted in Development
      Gustavo L ConteG
      Gustavo L Conte
    • Notable Improvement in Memory Management

      Lately I have noticed a much better memory management in the program as a whole. I'm used to long hours even days with a same session opened, and I can assure, not in a objective way, but by actually noticing, that memory consumption and management has improved big time.

      • Use own thread for lyrics parsing -> this surely fixed something regarding to that

      I don't remember other commits, but the cover/context ones surely made a huge benefit.

      So here's my cheers for that, we don't need to post just trouble here but its good to recognize when things improve, its a lot of effort from Jonas to keep this a stable project with so many features to deal with at the same time. Strawberry RuleS!

      posted in Development
      Gustavo L ConteG
      Gustavo L Conte
    • RE: Reintegrate projectM Visualizer

      @jonas I would not say that I completely gave up, but I just started a new position in a company so I lost that whole free time to mess with this particular thing

      I went making https://github.com/guprobr/WakkaQt instead to learn a bit more Qt before resuming this task
      The last ideas we discussed, I never tried... but the last post on projectM made me feel second toughts on the viability of the idea.... anyway, i want to resume this task someday I don't think we should give up but certainly something is missing in the backend inner parts of how Qt works with OpenGL and how projectM works with OpenGL, as it was discussed on the thread on github.

      But the first thing i would do is trying with latest Qt LTS, before anything.
      Second thing, to try with the same version on Windows!
      We have to figure where the problem is. Obviously its a Qt issue, but what made me stop working on it was when SDL window version showed the same issues. That was very disappointing.

      PS: sorry to take so long to answer, I just saw this today

      posted in Development
      Gustavo L ConteG
      Gustavo L Conte