Code Monkey home page Code Monkey logo

stargate's People

Contributors

conan-kudo avatar drcrinkle avatar l3337 avatar luzpaz avatar patchtester avatar psqli avatar rjdbcm avatar trellixvulnteam avatar yuuyins avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stargate's Issues

Linux: Threads run at default priority

In the early days of development, Stargate engine ran as setuid or setcap and was able to give it's worker threads a high priority. Fast forward a few years, and security engineers have managed to ruin everything, as they often do. Specifically, the "problem" is that Stargate UI is written in Python, and manages the engine process which is written in C and wants elevated scheduler priority. Some highly overpaid security engineer concluded that only script kiddies would write a Python script that invokes a binary that wants to run with elevated permissions, and decided the best way to deal with this was to kill the process before it can even begin to execute.

Apparently compiling a binary with #include <sched.h> and then either giving the executable or the user permissions to change the scheduler is enough to trigger this behavior. Running the same executable from a terminal by hand will work, and will be able to change the scheduling, it's only invoking it from Python that is problematic.

Which left the following choices:

  1. Don't #include <sched.h>, and don't attempt to modify the priority. This is what is currently happening, and Stargate is so performant without any scheduler priority bump that it's not a problem.
  2. RtKit: Unfortunately, this is a useless solution for DAW work because of this
  3. Create some kind of daemon to manage subprocesses and thread priority ourselves. Because nobody would ever question the decision to run a daemon as root ๐Ÿ™„ . But this adds a huge amount of complexity and actual real security risks, and quite frankly it's silly to run a daemon at all times for a user application.

In conclusion:

  1. The lack of scheduler optimizations is very unlikely to encumber your ability to make music
  2. If it bothers you, learn that it shouldn't , or else complain to your distro + upstream security packages

Support for Windows 7, 8

After disabling the check for Windows 10 or above, Stargate DAW installs on Windows 8.1, but crashes immediately on start up. The fix is to install the Visual C++ 2015 Redistributable, at which point Stargate DAW seems to work perfectly.

However, installing the VC2015R during the installation would have one of the following side effects:

  • Much larger installer
  • Internet access required during installation

It's not apparent that there are actually any prospective users on Windows 8, making both of those options pretty unpalatable. Furthermore, Windows 7 is no longer supported by recent Python versions. and Windows 8.1 is unsupported by Microsoft as of Jan. 10, 2023. However, if there is a significant number of users on Windows 8.1 who would like Stargate DAW to support it, let yourselves be known in this issue, and we will start bundling the VC2015R with the installer.

Windows Defender, "Smart Screen" warnings and random bugs

Problem: I have, at the moment, chosen not to give a Microsoft "partner" all of my personal information and a lot of money to buy a code signing cert, therefore Windows "Defender" and "Smart" Screen try to scare you out of installing my software, and sometimes inject random bugs into my code by rejecting syscalls.

Solution 1: Tell users to partially or fully disable Windows Defender if having problems with Stargate. Note that people already do the same to work around similar issues, even with apps that are code signed, like Steam (the Valve gaming platform)

Solution 2: Buy a code signing cert. Frankly, this is only going to happen if the project takes off in a major way and gets turned into a company or charity, as I am not going to be buying a personal code signing cert that will display my legal name to the user every time they install

Solution 3: Stop providing Windows builds. Obviously I would prefer to make my application available to that 87% of the world's computer users, but if it is going to be a terrible experience for both of us, I am better off focusing on Linux instead

Strange behaviour of save/discard when recording audio (Win10)

Hello, I have found something strange.
When first one recording discarded and second one saved then actually saved the first one.

My example is for using a microphone, but with the instruments there will be no differences.
Steps to reproduce:

  1. Start recording audio, say something to the microphone
  2. Stop recording and discard saving
  3. Start recording audio again, say somehing different to the microphone
  4. Stop recording and save sample
  5. Check the sample and see that it is actually the sample from step 1

Here is the log file.
stargate.log

More standardized, internetless build and better build instructions

Hello,

I am a packager on openSUSE and wanted to make a package for stargate. Builds on OBS (Open Build Service, the build system used by openSUSE) happen in a virtual machine unconnected to the Internet so the fact that make tries to download some packages from PyPi is problematic.

I tried building stargate via the make command but it tried to run pip and install some packages from the Internet, which as I said is not allowed on OBS.

Nevertheless, I proceeded with the build on my local system. It compiled correctly and make install worked but the stargate executable failed twice - first when mido was missing, second (after having installed mido) when sglib was missing. I had manually run python3 setup.py install --user to install the Python package in the src directory but that apparently did not provide sglib.

My suggestions:

  • Indicate all dependencies at both build-time and runtime (like portaudio, portmidi, pymarshal, wavefile, mido) in the build instructions
  • Make sure that make does not connect to the Internet, especially if Python dependencies are found on the system
  • Make sure that make install installs everything needed to run stargate, including the Python package containing sglib which should respect the distro's hierarchy (openSUSE also uses lib64, see #14). Also, make install tried to execute the (non-existing on my system) /mingw64/bin/jq program (if it's the jq program for querying JSON, I have it installed in /usr/bin/jq)

Both the deb files have dependency issues

Hi there. I'm using Pop OS which is base on Ubuntu 20.04. But for whatever reason, there are dependency issues.
Could you please look into this? And if it's not fixable, could you please put out a flatpak?
That might actually be a better solution than having to package rpm and deb files each time there's a new release.
And btw. Please provide better documentation for source compiling.
I tried compiling from source, but there's no cmake, and using "make" gave me "error 2".

EDIT: The problem dependencies seem to be fftw3, python3-pyqt6.qtsvg, python3-pyqt6. None of them exist.

Debian package depends on missing fftw3 package

Absolutely love the design principles behind this project and am looking forward to spending some time with the software. Being one of those with absolutely no desire to use AppImage, I'd really like to install the actual package. However, it appears to need fftw3 which is not a thing.

According to this line, libfftw3-dev is required (for compiling I'd assume) so I just installed it anyway. Currently, I have these installed:

> dpkg -l | awk '/fftw3/{print $2}'
libfftw3-bin
libfftw3-dev:amd64
libfftw3-double3:amd64
libfftw3-long3:amd64
libfftw3-quad3:amd64
libfftw3-single3:amd64

However, I still can't install the latest .deb on my Ubuntu box :(

The following packages have unmet dependencies:
 stargate : Depends: fftw3 but it is not installable

Unable to create new project in windows 11 latest

Describe the bug
Unable to create new project in windows 11 latest

To Reproduce
Today is my first time installing this software, but when I opened the software to create a new project, there was no response. I don't know what the problem is.

Hardware and operating system
CPU: i7 10700K
Memory: 64 GB
Form factor: desktop
CPU arch: x64, AMD
Windows: version 11

Additional context
Add any other context about the problem here.

Attach your log file
stargate.log

Strange saving of recorded samples (Win10)

Hello, I decided to try and test this new DAW (on Win10 currently).

First I have tried sample recording. It is actually worked, but it saved sample (from microphone) in a bit strange way. The file actually appeared in two locations.

First one in the audio/rec in project's directory,
C:\Users\DreadDendy\stargate\projects\testProject\audio\rec\test_sample-1-1.wav

The path to the second one is really weird. Seems like it once again used path to project's directory,
C:\Users\DreadDendy\stargate\projects\testProject\audio\samples\C\Users\DreadDendy\stargate\projects\testProject\audio\rec\test_sample-1-1.wav

Crashes on old, unsupported Mac hardware

There are some crashes that may happen when you are running Stargate DAW on older Mac hardware, such as Core2 era Intel Macs that are hacked to run Catalina. The following are known:

  • When checking for updates
  • When trying to use the Paulstretch time stretching algorithm

The root cause is that we get certain software libraries from public sources such as Homebrew, Pypi, etc... and that these repositories are not targeting the earliest Intel Macs. As such, you may get illegal instruction crashes when the library attempts to use an instruction not supported on your hardware.

The fix is that we would have to setup the build machine with every library compiled ourselves, targeting the original Core2 Macs, which is a daunting task, especially for Qt, Python and all of their many dependencies. If there is sufficient demand, we will consider doing so, otherwise the intention is to ride out current MacOS support for Intel Macs as-is, until it eventually becomes time to deprecate Intel Mac builds.

Issues with sample paths (Win10)

Hello, I have encountered several issues.
The first of them is similar to #27 and #29.
When I used built-in file browser (Item Editor/Audio) and drag-and-drop sample file from some other project (one of demo projects in this case), I have got a lot of extra directories,
C:\Users\DreadDendy\stargate\projects\Test\audio\samples\C\Users\DreadDendy\stargate\projects\001-dubstep\audio\samples\home\fd\src\github.com\stargateaudio\stargate-sample-pack\stargate-sample-pack\freesound\drums\cymbal\closed\339278__cabled-mess__hihat-closed-raw-03-gate-eq.wav
Then I have found audio_pool file, which contains references for audio files.
It seems a bit like mess. If DAW make copies of added samples may be it would be more logical to use relative paths, like !/timestretch/4.wav?

0|0.0|C:/Users/DreadDendy/stargate/projects/001-dubstep/audio/samples/home/fd/src/github.com/stargateaudio/stargate-sample-pack/stargate-sample-pack/freesound/drums/bongo/99754__menegass__bongo4.wav
1|0.0|C:/Users/DreadDendy/stargate/projects/001-dubstep/audio/samples/home/fd/src/github.com/stargateaudio/stargate-sample-pack/stargate-sample-pack/freesound/drums/cymbal/closed/339278__cabled-mess__hihat-closed-raw-03-gate-eq.wav
2|0.0|C:/Users/DreadDendy/stargate/projects/001-dubstep/audio/samples/home/fd/src/github.com/stargateaudio/stargate-sample-pack/stargate-sample-pack/freesound/drums/cymbal/crash/104217__minorr__crash-zildian-a-custom-16-centr-f.wav
3|0.0|C:/Users/DreadDendy/stargate/projects/001-dubstep/audio/samples/home/fd/src/github.com/stargateaudio/stargate-sample-pack/stargate-sample-pack/freesound/drums/kick/266764__hard3eat__synth-kick-3.wav
4|0.0|!/timestretch/4.wav
5|0.0|C:/Users/DreadDendy/stargate/projects/001-dubstep/audio/samples/home/fd/src/github.com/stargateaudio/stargate-sample-pack/stargate-sample-pack/freesound/drums/snare/212234__alexthegr81__tapesnare-21.wav
6|0.0|/:C/Users/DreadDendy/stargate/projects/001-dubstep/audio/samples/home/fd/src/github.com/stargateaudio/stargate-sample-pack/stargate-sample-pack/freesound/drums/bongo/99754__menegass__bongo4.wav
7|0.0|/:C/Users/DreadDendy/stargate/projects/001-dubstep/audio/samples/home/fd/src/github.com/stargateaudio/stargate-sample-pack/stargate-sample-pack/freesound/drums/bongo/99754__menegass__bongo4.wav
\

Then I attempted to re-create project and added samples manually, without DAW.
I have added some folders with files in C:\Users\DreadDendy\stargate\projects\Test\audio\samples.
And then when I have launched Stargate and added samples to track it worked for the first time, but then I relaunched DAW and it was unable to load project.
The error is
[2023-05-11 12:27:31,838] ERROR sglib\lib\process.py : 75 - C:\Program Files\stargatedaw@github\Stargate\program\engine\stargate-engine.exe: "Assertion failed: Audio file does not exist: '/:snare/212234__alexthegr81__tapesnare-21.wav'"
and audio_pool file is

0|0.0|/:snare/212234__alexthegr81__tapesnare-21.wav
1|0.0|/:snare/212234__alexthegr81__tapesnare-21.wav
2|0.0|/:kick/266764__hard3eat__synth-kick-3.wav
3|0.0|/:kick/266764__hard3eat__synth-kick-3.wav
4|0.0|/:kick/266764__hard3eat__synth-kick-3.wav
5|0.0|/:kick/266764__hard3eat__synth-kick-3.wav
\

When I changed it to

0|0.0|!/samples/snare/212234__alexthegr81__tapesnare-21.wav
1|0.0|!/samples/snare/212234__alexthegr81__tapesnare-21.wav
2|0.0|!/samples/kick/266764__hard3eat__synth-kick-3.wav
3|0.0|!/samples/kick/266764__hard3eat__synth-kick-3.wav
4|0.0|!/samples/kick/266764__hard3eat__synth-kick-3.wav
5|0.0|!/samples/kick/266764__hard3eat__synth-kick-3.wav
\

the project have been successfully opened.

macOS 11.5.2 build fails because of OSSpinLock deprecation

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Build using make mac_osx on Big Sur 11.5.2

Expected behavior
A clean build

Hardware and operating system
CPU: 2 GHz Quad-Core Intel Core i7
Memory: 8 GB 1600 MHz DDR3
Form factor: laptop
CPU arch: x86
Mac OS X: 11.5.2

Additional context

In file included from cli/main.c:1:
include/compiler.h:78:28: warning: 'OSSpinLock' is deprecated: first deprecated in macOS 10.12 - Use os_unfair_lock() from <os/lock.h> instead [-Wdeprecated-declarations]
    void pthread_spin_init(OSSpinLock * a_lock, void * a_opts);
                           ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libkern/OSSpinLockDeprecated.h:79:17: note: 'OSSpinLock' has been explicitly marked deprecated here
typedef int32_t OSSpinLock OSSPINLOCK_DEPRECATED_REPLACE_WITH(os_unfair_lock);
                ^
2 warnings generated.
make[2]: *** [engine] Error 1
make[1]: *** [mac_osx] Error 2
make: *** [mac_osx] Error 2

If someone hasn't already I can start a PR for this.

Time stretching, pitch shifting known issues

We basically just repackage all of the open source time stretching / pitch shifting libraries, with the exception of:

  • Time (Affecting Pitch)
  • Pitch (Affecting Time)

, which simply re-pitch the audio in real time.

The open source libraries have the following known issues:

  • Soundtouch: Usually pretty accurate on time, but sometimes the pitch is not what it was supposed to be, depending on the content. Also, sometimes it massively distorts the audio, usually changing to Rubberband is a better choice when this happens. Soundtouch is the default for reasons of rhythmic accuracy.
  • Rubberband:
    • Generally sounds pretty good and is accurate on pitch, but often the accuracy of the length isn't 100%
    • Has issues with unicode characters in file paths on Windows. We are investigating fixing this, but it looks to be
      an exceedingly difficult and time consuming task
  • Paulstretch: Not accurate on time, meant for turning sounds into atmospheres by stretching/smearing them by extreme amounts
  • SBMS: Sometimes sounds strange, fairly accurate on pitch, often not very accurate on time, only works on Linux and Mac x86, does not work on ARM or Windows, where the option for it is hidden (fixed in our fork). We are maintaining our own fork of SBSMS that has many fixes and improvements to the original.

Hang after creating new session with "already running with pid ..." message

Describe the bug
After starting stargate and choosing "New", a dialogue appears in front of the splash screen claiming: "Detected: Stargate is already running with pid ...". There is only one instance running: the one that's just been started, but at this point, it's hung. "OK" in the dialogue does nothing. The project directory has been created, but it is empty.

This occurs with current git main branch: I don't know whether it has ever worked in the past.

To Reproduce
In the Stargate source directory, run scripts/stargate, and click the "New" button.

Expected behavior
A new session should be rreated.

Screenshots
image

Hardware and operating system
CPU: Intel Core i9
Memory: 16GB
Form factor: laptop
CPU arch: x86_64
debian "bullseye", kernel 5.10.0-9-amd64, xfce 4.16

Doesn't build on artix ( arch ) linux

stargate/src/stargate-release-23.05.1/scripts$ python pkgbuild.py

==> Starting package()...
make: *** No rule to make target 'install_distro'. Stop.
==> ERROR: A failure occurred in package().
Aborting...
Traceback (most recent call last):
File "/mnt/linux/aur/stargate/src/stargate-release-23.05.1/scripts/pkgbuild.py", line 117, in
assert not os.system('makepkg -fs')
AssertionError

Seems that the Makefile got changed. There's in no install_distro.

No modules named 'sglib' & 'numpy' found, preventing start on LInux

Describe the bug
`Adding PYTHONPATH /usr/lib/stargate/stargate
[2021-11-04 12:04:56,743] INFO /usr/bin/stargate : 59 - sys.argv == ['/usr/bin/stargate']
[2021-11-04 12:04:56,746] INFO /usr/lib/stargate/stargate/sgui/sgqt.py: 19 - Using PyQt5
[2021-11-04 12:04:56,805] ERROR /usr/lib/stargate/stargate/sglib/log.py: 62 - Traceback (most recent call last):

File "/usr/bin/stargate", line 122, in main
start_stargate(args.project_file)

File "/usr/bin/stargate", line 78, in start_stargate
app, scaler = _setup()

File "/usr/bin/stargate", line 57, in _setup
from sglib.log import LOG, setup_logging

ModuleNotFoundError: No module named 'sglib'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/usr/bin/stargate", line 141, in
main()

File "/usr/bin/stargate", line 138, in main
start_stargate(args.project_file)

File "/usr/bin/stargate", line 78, in start_stargate
app, scaler = _setup()

File "/usr/bin/stargate", line 62, in _setup
from sgui.util import setup_theme

File "/usr/lib/stargate/stargate/sgui/util.py", line 5, in
from sglib.lib.translate import _

File "/usr/lib/stargate/stargate/sglib/lib/translate.py", line 17, in
from sglib.lib.util import SHARE_DIR

File "/usr/lib/stargate/stargate/sglib/lib/util.py", line 3, in
from sglib.math import clip_max, clip_min

File "/usr/lib/stargate/stargate/sglib/math.py", line 8, in
import numpy

ModuleNotFoundError: No module named 'numpy'
`
System
Arch Linux x64
Kernel: 5.14.16
logged in as user with root privileges

Running on arm64 (Pinebook Pro)

The program does not run when built on a Pinebook Pro. There are a variety of possible causes: it could be a lack of support and/or testing, a missing dependency I could not find, or something else, and I am not knowledgeable enough to figure out which it is.
The program appears to build successfully, even when some dependencies were missing. However, when I try to run it, it gives an error regarding pyqt5 (more information in log file). When I tried to use the Fedora script to find out what packages I needed to install, I installed as many of the dependencies as I could find in the Arch Linux ARM repository, but the same issue occurred.
If this is a support issue, I would greatly appreciate if arm64 became a supported platform for Stargate. Pine64 devices are pitifully weak but portable and efficient Linux machines, and I think Stargate would be a perfect fit for them (if it wouldn't be too much trouble to maintain).

Log file (attempt to call the binary stargate first, then the script):

[2021-09-29 22:46:35,734] INFO /usr/local/bin/stargate       : 52 - sys.argv == ['/usr/local/bin/stargate']
[2021-09-29 22:46:35,754] INFO /usr/local/lib/stargate/stargate/sgui/sgqt.py: 19 - Using PyQt5
[2021-09-29 22:46:35,779] ERROR /usr/local/lib/stargate/stargate/sglib/log.py: 62 - Traceback (most recent call last):

  File "/usr/local/bin/stargate", line 88, in main
    start_stargate(args.project_file)

  File "/usr/local/bin/stargate", line 50, in start_stargate
    from sglib.log import LOG, setup_logging

ModuleNotFoundError: No module named 'sglib'


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/usr/local/bin/stargate", line 107, in <module>
    main()

  File "/usr/local/bin/stargate", line 104, in main
    start_stargate(args.project_file)

  File "/usr/local/bin/stargate", line 53, in start_stargate
    from sgui.sgqt import QApplication, QGuiApplication, QtCore

  File "/usr/local/lib/stargate/stargate/sgui/sgqt.py", line 21, in <module>
    from PyQt5 import QtGui, QtWidgets, QtCore

ImportError: /usr/lib/python3.9/site-packages/PyQt5/QtGui.abi3.so: undefined symbol: _ZTI18QOpenGLTimeMonitor, version Qt_5

[2021-09-29 22:47:34,457] INFO /home/axel/git/stargate/src/scripts/stargate: 52 - sys.argv == ['scripts/stargate']
[2021-09-29 22:47:34,475] INFO /home/axel/git/stargate/src/sgui/sgqt.py: 19 - Using PyQt5
[2021-09-29 22:47:34,500] INFO /home/axel/git/stargate/src/scripts/stargate: 52 - sys.argv == ['scripts/stargate']
[2021-09-29 22:47:34,500] INFO /home/axel/git/stargate/src/scripts/stargate: 52 - sys.argv == ['scripts/stargate']
[2021-09-29 22:47:34,502] INFO /home/axel/git/stargate/src/sgui/sgqt.py: 19 - Using PyQt5
[2021-09-29 22:47:34,502] INFO /home/axel/git/stargate/src/sgui/sgqt.py: 19 - Using PyQt5
[2021-09-29 22:47:34,528] ERROR /home/axel/git/stargate/src/sglib/log.py: 62 - Traceback (most recent call last):

  File "/home/axel/git/stargate/src/scripts/stargate", line 88, in main
    start_stargate(args.project_file)

  File "/home/axel/git/stargate/src/scripts/stargate", line 53, in start_stargate
    from sgui.sgqt import QApplication, QGuiApplication, QtCore

  File "/home/axel/git/stargate/src/sgui/sgqt.py", line 21, in <module>
    from PyQt5 import QtGui, QtWidgets, QtCore

ImportError: /usr/lib/python3.9/site-packages/PyQt5/QtGui.abi3.so: undefined symbol: _ZTI18QOpenGLTimeMonitor, version Qt_5


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/home/axel/git/stargate/src/scripts/stargate", line 107, in <module>
    main()

  File "/home/axel/git/stargate/src/scripts/stargate", line 104, in main
    start_stargate(args.project_file)

  File "/home/axel/git/stargate/src/scripts/stargate", line 53, in start_stargate
    from sgui.sgqt import QApplication, QGuiApplication, QtCore

  File "/home/axel/git/stargate/src/sgui/sgqt.py", line 21, in <module>
    from PyQt5 import QtGui, QtWidgets, QtCore

ImportError: /usr/lib/python3.9/site-packages/PyQt5/QtGui.abi3.so: undefined symbol: _ZTI18QOpenGLTimeMonitor, version Qt_5

[2021-09-29 22:47:34,528] ERROR /home/axel/git/stargate/src/sglib/log.py: 62 - Traceback (most recent call last):

  File "/home/axel/git/stargate/src/scripts/stargate", line 88, in main
    start_stargate(args.project_file)

  File "/home/axel/git/stargate/src/scripts/stargate", line 53, in start_stargate
    from sgui.sgqt import QApplication, QGuiApplication, QtCore

  File "/home/axel/git/stargate/src/sgui/sgqt.py", line 21, in <module>
    from PyQt5 import QtGui, QtWidgets, QtCore

ImportError: /usr/lib/python3.9/site-packages/PyQt5/QtGui.abi3.so: undefined symbol: _ZTI18QOpenGLTimeMonitor, version Qt_5


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/home/axel/git/stargate/src/scripts/stargate", line 107, in <module>
    main()

  File "/home/axel/git/stargate/src/scripts/stargate", line 104, in main
    start_stargate(args.project_file)

  File "/home/axel/git/stargate/src/scripts/stargate", line 53, in start_stargate
    from sgui.sgqt import QApplication, QGuiApplication, QtCore

  File "/home/axel/git/stargate/src/sgui/sgqt.py", line 21, in <module>
    from PyQt5 import QtGui, QtWidgets, QtCore

ImportError: /usr/lib/python3.9/site-packages/PyQt5/QtGui.abi3.so: undefined symbol: _ZTI18QOpenGLTimeMonitor, version Qt_5

It fails to start on OpenSUSE Leap 15.3

Hi,

Very interesting project. However, I could not install it. I'm using OpenSUSE Leap 15.3.

Adding PYTHONPATH /usr
Did not detect local development environment, trying system installation
Adding PYTHONPATH /usr/share/stargate/stargate
[2021-11-10 13:37:24,285] INFO /usr/bin/stargate : 72 - sys.argv == ['/usr/bin/stargate']
[2021-11-10 13:37:24,286] ERROR /usr/share/stargate/stargate/sglib/log.py: 90 - Traceback (most recent call last):

File "/usr/share/stargate/stargate/sgui/sgqt.py", line 7, in
import PyQt6

ModuleNotFoundError: No module named 'PyQt6'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/usr/bin/stargate", line 155, in
main()

File "/usr/bin/stargate", line 152, in main
start_stargate(args.project_file)

File "/usr/bin/stargate", line 91, in start_stargate
app, scaler = _setup()

File "/usr/bin/stargate", line 73, in _setup
from sgui.sgqt import QApplication, QGuiApplication, QtCore

File "/usr/share/stargate/stargate/sgui/sgqt.py", line 11, in
import PyQt5

ModuleNotFoundError: No module named 'PyQt5'


I don't think OpenSUSE has PyQt6 in their repos.

hp:~ # hwinfo --short
cpu:
Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz, 1084 MHz
Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz, 1311 MHz
Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz, 1380 MHz
Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz, 1505 MHz
Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz, 1825 MHz
Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz, 2016 MHz
Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz, 2050 MHz
Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz, 1925 MHz
keyboard:
/dev/input/event0 AT Translated Set 2 keyboard
/dev/input/event20 MX Anywhere 2 Keyboard
mouse:
/dev/input/mice ETPS/2 Elantech Touchpad
/dev/input/mice MX Anywhere 2 Mouse
joystick:
/dev/input/event8 ST LIS3LV02DL Accelerometer
monitor:
LCD Monitor
graphics card:
nVidia GP108M [GeForce MX150]
Intel UHD Graphics 620 (Whiskey Lake)
sound:
Intel Cannon Point-LP High Definition Audio Controller
storage:
Intel 82801 Mobile SATA Controller [RAID mode]
network:
wlan0 Intel Cannon Point-LP CNVi [Wireless-AC]
eth0 Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
network interface:
lo Loopback network interface
eth0 Ethernet network interface
wlan0 WLAN network interface
disk:
/dev/sda Samsung SSD 860
partition:
/dev/sda1 Partition
/dev/sda2 Partition
/dev/sda3 Partition
usb controller:
Intel Cannon Point-LP USB 3.1 xHCI Controller
bios:
BIOS
bridge:
Intel Cannon Point-LP PCI Express Root Port #1
Intel Cannon Point-LP LPC Controller
Intel Cannon Point-LP PCI Express Root Port #10
Intel Coffee Lake HOST and DRAM Controller
Intel Cannon Point-LP PCI Express Root Port #9
Intel Cannon Point-LP PCI Express Root Port #5
hub:
Linux Foundation 2.0 root hub
Linux Foundation 3.0 root hub
memory:
Main Memory
bluetooth:
Intel Bluetooth Device
unknown:
FPU
DMA controller
PIC
Keyboard controller
PS/2 Controller
Intel Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem
Intel Cannon Point-LP MEI Controller #1
Intel Cannon Point-LP SPI Controller
Intel Cannon Point-LP Serial IO I2C Host Controller
Intel Cannon Point-LP Thermal Controller
Intel Cannon Point-LP Shared SRAM
Intel Cannon Point-LP SMBus Controller
/dev/input/event12 Lite-On HP Wide Vision FHD Camera

Can't compile from source

~/src/stargate-release-23.12.1

cd src

~/src/stargate-release-23.12.1/src

make
make -C vendor/sbsms/cli
make[1]: *** vendor/sbsms/cli: No such file or directory. Stop.
make: *** [Makefile:233: sbsms] Error 2

Crashes on some locales

At the present, there are some fairly deep issues that cause crashes on locales with large alphabets that use unicode, such as Korean and Japanese, probably others.

The solution is going to be to devise a cross-platform strategy to use utf-8 for all files and file paths in the Python code (the easy part), and properly handle these paths under the hood in the C code in a way that works on Windows and UNIX (the hard part).

Potential strategies to solve this are being evaluated right now, for now the only way to ensure that Stargate works is to use en_US locale.

Linux: Random popup window positions on Wayland

This is a feature of Wayland.

I implemented the workaround for this, but at some point it stopped working in Qt5, but it still works in Qt6. The only thing preventing me from migrating fully to PyQt6 is that most Linux distros are not packaging it yet.

As a workaround, you can run this command, and Stargate will automatically find it and do the right thing:

pip install PyQt6

Contact information?

Hello! I'm interested in this project and would like to talk with you. I'm the lead developer of the (still WIP) Meadowlark DAW project.

While I think our projects ultimately have different design goals, I would still like to discuss if it makes sense to share some things between our projects. Namely things like DSP, sample libraries, or even plugin hosting? I know a lot about hosting CLAP plugins, and creating a simple CLAP host in C shouldn't be too hard (considering CLAP is a header-only C library).

I don't see any kind of contact information or chatroom linked anywhere. Is there a place we can discuss this more? If you just want to chat on the GitHub issues page, that's fine too.

3 PlugIns, if and when you'll have time and will

Briefly describe your usage of Stargate
I did some exploration with it and some simple tracks, with the bundled plugins.
Never ever tried to install other plugins nor mixing work done in other software.
I didn't read manuals or watched videos, because I felt at home with Stargate as I'm experienced with other DAWs, such as Ableton live, LMMS, Ardour, FL Studio, and other, minor ones.
I did some EDM tracks with Stargate, but I did for my personal enjoyment and didn't preserve.
I'd like to see this project grow some more, but on the other hand, I feel it's mature enough.

Describe what you want to do
I'm used to have these plugins in a way or another in the DAW I work on:

  • Overdrive
  • Parametric EQ
  • WaveShaper

Does your proposal align with the core project design principles?
Project principles are available HERE
Yes, more or less. It's not a request for a change in the plugin API, still is a new plugin request.
So, the answer is: it depends. Is a new plugin a change to the API?

Additional context
I really don't know what to put here, sorry

Portable installation doesn't work (as intended) (Win10)

Hello, I was able to test portable installation on the flash drive.
First I moved data folder of the application from my user's directory.
Second I installed app on a flash drive.
When I had launched it with a .bat-file and tried to open demo project I saw error message: "The audio engine stopped with exit code 11, please try restarting Stargate".

Then I started to study the log files. This lines in "local" config say that DAW still looking files in my user's directory,
[2021-12-19 16:33:04,129] INFO sglib\lib\process.py : 62 - ~\program\engine\stargate-engine.exe: "using home folder: C:\Users\Umbrix"
[2021-12-19 16:33:04,129] INFO sglib\lib\process.py : 62 - ~\program\engine\stargate-engine.exe: "C:\Users\Umbrix/stargate/config/device.txt does not exist"
[2021-12-19 16:33:04,129] INFO sglib\lib\process.py : 62 - ~\program\engine\stargate-engine.exe: "Allocating output buffers"
[2021-12-19 16:33:04,129] INFO sglib\lib\process.py : 62 - ~\program\engine\stargate-engine.exe: "Setting main volume"
[2021-12-19 16:33:04,129] INFO sglib\lib\process.py : 62 - ~\program\engine\stargate-engine.exe: "get_file_setting: C:\Users\Umbrix/stargate/config/main_vol.txt"
I attach the full log file.
stargate - local directory.log

Then I moved back the data folder of the DAW in my user's directory and after that the application worked OK when I have launched it with the .bat file. I think that it just have found the needed files. Here is the log file for this case.
stargate - user directory.log

Sampler1: Various issues with .SFZ files

Problem: SFZ files are not any kind of standard data DSL like JSON, YAML, XML... As such, there are no standard parsing libraries for Python (that I am aware of), so I am using a crude parser I wrote years ago. The full SFZ spec is very complex, and Stargate DAW does not currently support all of the features.

If you have problems loading SFZ files, please send me the SFZ file (not the samples, just the .sfz file(s) used by your instrument), and ideally your logs in ~/stargate/log/* so that I can debug the issue and add your SFZ file to the conformance tests.

ComboBox menus only show on main monitor

Describe the bug
ComboBox menus only show on main monitor

To Reproduce
Open software. Move to different monitor. Open combobox.

Expected behavior

Screenshots
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.