rbreu / beeref Goto Github PK
View Code? Open in Web Editor NEWBeeRef Reference Image Viewer
License: GNU General Public License v3.0
BeeRef Reference Image Viewer
License: GNU General Public License v3.0
Describe the bug
When rotating an image, the edges are jagged which could be because no antialiasing is used.
I think this can be enabled by setting a window hint like here
To Reproduce
Expected behavior
It should rotate and look good.
Describe the bug
Unable to run the executable on Arch-based Linux distro. Getting this:
INFO __main__: Starting BeeRef version 0.1.1
INFO __main__: Using settings: /home/flone/.config/BeeRef/BeeRef.ini
INFO __main__: Logging to: /home/flone/.config/BeeRef/BeeRef.log
fish: Job 1, './BeeRef-0.1.1' terminated by signal SIGSEGV (Address boundary error)
Although I was able to run the executable produced by pip install git+https://github.com/rbreu/beeref.git
without any issues.
QT_DEBUG_PLUGINS=1 ./BeeRef-0.1.1
shows me this:
INFO __main__: Starting BeeRef version 0.1.1
INFO __main__: Using settings: /home/flone/.config/BeeRef/BeeRef.ini
INFO __main__: Logging to: /home/flone/.config/BeeRef/BeeRef.log
WARNING Qt: Found metadata in lib /home/flone/CustomApps/BeeRef-0.1.1/platforms/libqeglfs.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"eglfs"
]
},
"archreq": 0,
"className": "QEglFSIntegrationPlugin",
"debug": false,
"version": 393472
}
WARNING Qt: Found metadata in lib /home/flone/CustomApps/BeeRef-0.1.1/platforms/libqlinuxfb.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"linuxfb"
]
},
"archreq": 0,
"className": "QLinuxFbIntegrationPlugin",
"debug": false,
"version": 393472
}
WARNING Qt: Found metadata in lib /home/flone/CustomApps/BeeRef-0.1.1/platforms/libqminimal.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"minimal"
]
},
"archreq": 0,
"className": "QMinimalIntegrationPlugin",
"debug": false,
"version": 393472
}
WARNING Qt: Found metadata in lib /home/flone/CustomApps/BeeRef-0.1.1/platforms/libqminimalegl.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"minimalegl"
]
},
"archreq": 0,
"className": "QMinimalEglIntegrationPlugin",
"debug": false,
"version": 393472
}
WARNING Qt: Found metadata in lib /home/flone/CustomApps/BeeRef-0.1.1/platforms/libqoffscreen.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"offscreen"
]
},
"archreq": 0,
"className": "QOffscreenIntegrationPlugin",
"debug": false,
"version": 393472
}
WARNING Qt: Found metadata in lib /home/flone/CustomApps/BeeRef-0.1.1/platforms/libqvnc.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"vnc"
]
},
"archreq": 0,
"className": "QVncIntegrationPlugin",
"debug": false,
"version": 393472
}
WARNING Qt: Found metadata in lib /home/flone/CustomApps/BeeRef-0.1.1/platforms/libqwayland-egl.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"wayland-egl"
]
},
"archreq": 0,
"className": "QWaylandEglPlatformIntegrationPlugin",
"debug": false,
"version": 393472
}
WARNING Qt: Found metadata in lib /home/flone/CustomApps/BeeRef-0.1.1/platforms/libqwayland-generic.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"wayland"
]
},
"archreq": 0,
"className": "QWaylandIntegrationPlugin",
"debug": false,
"version": 393472
}
WARNING Qt: Found metadata in lib /home/flone/CustomApps/BeeRef-0.1.1/platforms/libqwayland-xcomposite-egl.so,metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"wayland-xcomposite-egl"
]
},
"archreq": 0,
"className": "QWaylandXCompositeEglPlatformIntegrationPlugin",
"debug": false,
"version": 393472
}
WARNING Qt: Found metadata in lib /home/flone/CustomApps/BeeRef-0.1.1/platforms/libqwayland-xcomposite-glx.so,metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"wayland-xcomposite-glx"
]
},
"archreq": 0,
"className": "QWaylandXCompositeGlxPlatformIntegrationPlugin",
"debug": false,
"version": 393472
}
WARNING Qt: Found metadata in lib /home/flone/CustomApps/BeeRef-0.1.1/platforms/libqxcb.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"xcb"
]
},
"archreq": 0,
"className": "QXcbIntegrationPlugin",
"debug": false,
"version": 393472
}
fish: Job 1, 'QT_DEBUG_PLUGINS=1 ./BeeRef-0.1…' terminated by signal SIGSEGV (Address boundary error)
Not a long-time Linux user, I'm I missing something?
P.S. Also you have a typo in the readme:
If there are issues starting the application, run it with the environment varibale...
QDarkStylesheet uses qtpy, which needs to support qt6: spyder-ide/qtpy#233
Thank you for making this tool available! I have been using it for a while now, and it has been very helpful. There are two things that I have found myself wishing for a few times:
Please make a .deb package in the next release. It is very inconvenient to install yet.
Describe the bug
BeeRef fails to start after loading settings by using the flatpak version 0.2.0
To Reproduce
Steps to reproduce the behavior:
flatpak run org.beeref.BeeRef
Starting BeeRef version 0.2.0
Using settings: ~/.var/app/org.beeref.BeeRef/config/BeeRef/BeeRef.ini
and Logging to: ~/.var/app/org.beeref.BeeRef/config/BeeRef/BeeRef.log
Expected behavior
The program starts
Screenshots
If applicable, add screenshots to help explain your problem.
Debug log:
For crashes and similar, provide the last 20 lines or so of your debug log. To get the debug log, open BeeRef and go to Help -> Show Debug Log. If in doubt, paste the whole debug log to a paste service like paste.bin
~/.var/app/org.beeref.BeeRef/config/BeeRef/BeeRef.log:
2023-02-23 18:41:51,984 __main__ 3 139965785508736 Starting BeeRef version 0.2.0
2023-02-23 18:41:51,988 __main__ 3 139965785508736 System: Linux The-Thinker 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64
2023-02-23 18:41:51,988 __main__ 3 139965785508736 Python: 3.9.9
2023-02-23 18:41:51,989 __main__ 3 139965785508736 Using settings: /home/n1/.var/app/org.beeref.BeeRef/config/BeeRef/BeeRef.ini
2023-02-23 18:41:51,989 __main__ 3 139965785508736 Logging to: /home/n1/.var/app/org.beeref.BeeRef/config/BeeRef/BeeRef.log
2023-02-23 18:42:15,665 __main__ 3 140434007591808 Starting BeeRef version 0.2.0
2023-02-23 18:42:15,670 __main__ 3 140434007591808 System: Linux The-Thinker 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64
2023-02-23 18:42:15,670 __main__ 3 140434007591808 Python: 3.9.9
2023-02-23 18:42:15,671 __main__ 3 140434007591808 Using settings: /home/n1/.var/app/org.beeref.BeeRef/config/BeeRef/BeeRef.ini
2023-02-23 18:42:15,671 __main__ 3 140434007591808 Logging to: /home/n1/.var/app/org.beeref.BeeRef/config/BeeRef/BeeRef.log
The images in BeeRef seem to not use any filtering when scaling, this results in ugly pixelation both when zooming in and when zooming out.
I would like to suggest creating options for storing the image data inside the .bee file as webp and to also be able to store image URIs instead of direct image data.
I suppose beeref stores the image data as png, since I saved one .bee file with only one .png into it, and the size of the .bee was about 16KB larger than the .png, and and empty .bee file is also about 16KB.
Using png is great to keep quality, but since most usecases for saving a reference image boards would not necessarily need this amount of quality, I would suggest to store the image data using lossy algorithms, preferably webp, since this would significantly reduce the file size.
Aside from storing images as webp, storing URIs would give the most drastical reduction since most images would be reduced to a small URI with probably less than 256 characters.
PureRef has the ability to store only references to filesystem images, but I never found this much useful because having a bunch of separate files that needed to be together without never being renamed wasn't nice. But if beeref could store URIs for images from the web and download them upon opening the reference board eac time, this would be really nice, since the majority of the reference images come in fact from the web.
I would suggest the functionality to be like this: when dragging a file from the web onto beeref, the URI would be stored by default instead of the image data. If the user would like to convert that reference to actual stored data, he could right click it and choose something like "make available offline". And in order to choose whether the images are stored as png or webp, there could be a command line argument (since there is no options menu yet) specifying the image format and compression level, like "beeref --texture-format=webp --compression-level=80". Without specifying any argument, the default would be like it is now using png.
Describe the bug
The pop-open context menu submenus are shorter on their first open than on subsequent ones, cutting off the last item.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I would expect menus to be the required size from the first use.
My System
Win10
It would be great if you add this either in the settings(like the gaps for image arrangement) or in the export dialog.
Having the ability to drag and drop images is awesome. Having the ability to scale images within the app is also awesome. Sometimes I scale down a larger image and scale up a smaller image within beeref. It would be great if there was a command that downscale the actual image data as well.
Hello :) Thanks to BeeRef
Using the 0.2.0 Binary file, started from a .desktop shortcut
Go to https://github.com/rbreu/beeref/blob/v0.2.0/beeref/assets/logo.svg
Drag the logo image from Firefox to the BeeReef (always on top on) window
Transcript of the error dialog image:
Problem loading images
1 image(s) out of 1 could not be opened:
https://raw.githubusercontent.com/rbreu/beeref/c308c08a07a6bce0ee1ece487f924811f1e56053/beeref/assets/logo.svg
:)
question,
and is there any way to donate for development of the project?
upon clicking save the terminal outputs the following:
Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 6: unknown element "reset-dirs"
^CINFO main: Received interrupt. Exiting...
then the program involuntarily shuts down
New Feature Option to Autosave and Restore Scenes. Similar to other PC and mobile applications
Useage:
Benefits are to prevent accidental loss of work. Convenience for quick or temporary Scenes, reducing thinking about files and paths. Work in a similar, natural way to other apps with autosave. See Inkscape or mobile apps.
@pyinstaller's --onefile option does not work with PyQt6 yet:
https://doc.qt.io/qtforpython/deployment-pyinstaller.html#status-of-qt-6-support
Describe the bug
Beeref v0.2.0 onefile release doesn't start on Wayland due to dependence on a missing key in one of gsettings schemas. Passing GDK_BACKEND=x11
works around the issue (QT_QPA_PLATFORM=xcb
, OTOH, doesn't do anything).
Operating system: Fedora Linux 35.20211013.n.0 (Silverblue)
Window system: Wayland
To Reproduce
Steps to reproduce the behavior:
BeeRef-0.2.0-linux
in a Wayland session.SIGTRAP
unless GDK_BACKEND=x11
env var is set.Expected behavior
BeeRef-0.2.0-linux
works on Wayland.
Screenshots
Not applicable.
Debug log:
$ ./BeeRef-0.2.0-linux -l TRACE
INFO __main__: Starting BeeRef version 0.2.0
DEBUG __main__: System: Linux durian-dryad 5.14.10-300.fc35.x86_64 #1 SMP Thu Oct 7 20:48:44 UTC 2021 x86_64 x86_64
DEBUG __main__: Python: 3.7.3
INFO __main__: Using settings: /var/home/yana/.config/BeeRef/BeeRef.ini
INFO __main__: Logging to: /var/home/yana/.config/BeeRef/BeeRef.log
GLib-GIO-Message: 20:50:16.775: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
(BeeRef-0.2.0-linux:67465): GLib-GIO-ERROR **: 20:50:16.775: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'
Trace/breakpoint trap (core dumped)
Describe the bug
There are lots of empty space surrounding the images on the exported scene if we move the images around or make them smaller.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I'm expecting the exported scene to have only the minimum margin like the first screenshot.
I believe this issue is happening because the width & height of the exported scene is considered at the maximum width & height of the scene/canvas through out it's history rather than the current farthest extent of images (or text).
The default margin is good, so please keep it when fixing this issue.
Screenshots
Scene export result right after importing the images:
Scene export result after making some changes & moving images around the canvas.
BeeRef version 0.3.1
Pop OS 22.04
I've been waiting for the last update & I really like this feature, so I hope it can be polished a little more.
To Reproduce
Steps to reproduce the behavior:
Debug log:
❯ beeref
INFO beeref.__main__: Starting BeeRef version 0.2.0
INFO beeref.__main__: Using settings: /home/unfa/.config/BeeRef/BeeRef.ini
INFO beeref.__main__: Logging to: /home/unfa/.config/BeeRef/BeeRef.log
CRITICAL beeref.__main__: Unhandled exception
Traceback (most recent call last):
File "/usr/bin/beeref", line 33, in <module>
sys.exit(load_entry_point('BeeRef==0.2.0', 'gui_scripts', 'beeref')())
File "/usr/lib/python3.10/site-packages/beeref/__main__.py", line 102, in main
bee = BeeRefMainWindow(app) # NOQA:F841
File "/usr/lib/python3.10/site-packages/beeref/__main__.py", line 53, in __init__
self.setWindowIcon(BeeAssets().logo)
File "/usr/lib/python3.10/site-packages/beeref/assets/__init__.py", line 34, in __new__
cls._instance.on_new()
File "/usr/lib/python3.10/site-packages/beeref/assets/__init__.py", line 41, in on_new
self.cursor_rotate = self.cursor_from_image(
File "/usr/lib/python3.10/site-packages/beeref/assets/__init__.py", line 54, in cursor_from_image
return QtGui.QCursor(pixmap, hotspot[0]/scaling, hotspot[1]/scaling)
TypeError: arguments did not match any overloaded call:
QCursor(): too many arguments
QCursor(QBitmap, QBitmap, hotX: int = -1, hotY: int = -1): argument 1 has unexpected type 'QPixmap'
QCursor(QPixmap, hotX: int = -1, hotY: int = -1): argument 2 has unexpected type 'float'
QCursor(Union[QCursor, Qt.CursorShape]): argument 1 has unexpected type 'QPixmap'
QCursor(Any): too many arguments
Exception ignored in: <function BeeRefMainWindow.__del__ at 0x7f5fc1d7fd90>
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/beeref/__main__.py", line 60, in __del__
del self.view
AttributeError: view
My system:
❯ inxi -F
System: Host: unfa-desktop Kernel: 5.16.11-arch1-1 x86_64 bits: 64 Desktop: KDE Plasma 5.24.2 Distro: Arch Linux
Machine: Type: Desktop Mobo: Gigabyte model: B550 AORUS ELITE V2 v: x.x serial: <superuser required>
UEFI: American Megatrends LLC. v: F13 date: 07/08/2021
CPU: Info: 12-Core model: AMD Ryzen 9 3900X bits: 64 type: MT MCP cache: L2: 6 MiB
Speed: 3585 MHz min/max: 2200/3800 MHz Core speeds (MHz): 1: 3585 2: 3788 3: 3592 4: 3366 5: 3594 6: 3854 7: 3657
8: 3320 9: 3860 10: 3599 11: 3584 12: 3593 13: 3596 14: 3586 15: 3586 16: 3970 17: 3896 18: 3592 19: 3593 20: 3595
21: 3597 22: 3596 23: 3589 24: 3594
Graphics: Device-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] driver: amdgpu
v: kernel
Device-2: Logitech HD Pro Webcam C920 type: USB driver: snd-usb-audio,uvcvideo
Device-3: MacroSilicon USB Video type: USB driver: hid-generic,snd-usb-audio,usbhid,uvcvideo
Display: x11 server: X.Org 1.21.1.3 driver: loaded: amdgpu unloaded: modesetting,vesa resolution: 1: 1920x1080~60Hz
2: 1920x1080~60Hz
OpenGL: renderer: AMD Radeon RX 580 Series (POLARIS10 DRM 3.44.0 5.16.11-arch1-1 LLVM 13.0.1) v: 4.6 Mesa 21.3.7
Audio: Device-1: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] driver: snd_hda_intel
Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio driver: snd_hda_intel
Device-3: PreSonus Audio Studio 24c type: USB driver: snd-usb-audio
Device-4: Logitech HD Pro Webcam C920 type: USB driver: snd-usb-audio,uvcvideo
Device-5: MacroSilicon USB Video type: USB driver: hid-generic,snd-usb-audio,usbhid,uvcvideo
Device-6: M-Audio Oxygen 49 type: USB driver: snd-usb-audio
Sound Server-1: ALSA v: k5.16.11-arch1-1 running: yes
Sound Server-2: PipeWire v: 0.3.47 running: yes
Network: Device-1: Realtek RTL8125 2.5GbE driver: r8169
IF: eno1 state: up speed: 1000 Mbps duplex: full mac: 18:c0:4d:ae:35:7d
IF-ID-1: zt7nnmwu6v state: unknown speed: 10 Mbps duplex: full mac: 4e:06:00:9d:8c:52
Drives: Local Storage: total: 5.69 TiB used: 3.91 TiB (68.8%)
ID-1: /dev/sda vendor: Western Digital model: WD20EZRZ-00Z5HB0 size: 1.82 TiB
ID-2: /dev/sdb vendor: Western Digital model: WD40EZRZ-22GXCB0 size: 3.64 TiB
ID-3: /dev/sdc vendor: Transcend model: TS256GMTS400 size: 238.47 GiB
Partition: ID-1: / size: 1.82 TiB used: 572.1 GiB (30.7%) fs: btrfs dev: /dev/bcache0
ID-2: /boot size: 475.9 MiB used: 93.2 MiB (19.6%) fs: ext4 dev: /dev/sdc4
ID-3: /boot/efi size: 10 MiB used: 140 KiB (1.4%) fs: vfat dev: /dev/sdc1
ID-4: /home size: 1.82 TiB used: 572.1 GiB (30.7%) fs: btrfs dev: /dev/bcache0
Swap: ID-1: swap-1 type: partition size: 64 GiB used: 1.62 GiB (2.5%) dev: /dev/sdc2
Sensors: System Temperatures: cpu: 32.0 C mobo: 30.0 C gpu: amdgpu temp: 32.0 C
Fan Speeds (RPM): N/A gpu: amdgpu fan: 762
Info: Processes: 822 Uptime: 1d 18h 47m Memory: 31.35 GiB used: 15.55 GiB (49.6%) Shell: fish inxi: 3.3.08
With the current setup this is what MacOS X users would see when they run BeeRef.
Note how the version is in the menu bar. This is caused by having the version in the name of the app bundle. This is not a common practice really. Version is typically tracked via Info.plist
.
Attached patch makes a small change to change this behavior, so that users would see this:
Patch: 00.patch.txt
@rbreu I can open a PR with this change if you like it, or you can go ahead and apply it yourself. Whatever is less hassle for you.
*** I used the code button, but it isn't displaying correctly.
Hello :-)
Looks a great software; very intuitive, and far easier than the billion shortcuts pureref needs.
Downloaded the latest linux version, made it executable, and double clicked ... first, it opened, but unable to drag images onto or right-click. Tried running it via terminal, and was able to add one picture, then right click and flip it horizontally, then unfortunately everything seized up. With latest attempt was able to add a few images before it seized up, either via panel shortcut or terminal. Have to force close each time. On opening, other things on the pc slow down, too.
Error messages via terminal
$ ./BeeRef-0..0-linux INFO __main__: Starting BeeRef version 0.2.0 INFO __main__: Using settings: /home/watership/.config/BeeRef/BeeRef.ini INFO __main__: Logging to: /home/watership/.config/BeeRef/BeeRef.log /usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so: undefined symbol: g_task_set_name Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so: undefined symbol: g_task_set_name Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_name Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so /usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_name Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so /usr/lib/x86_64-linux-gnu/gio/modules/libgiognutls.so: undefined symbol: g_task_set_name Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiognutls.so libGL error: MESA-LOADER: failed to open radeonsi: /usr/lib/dri/radeonsi_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: radeonsi libGL error: MESA-LOADER: failed to open radeonsi: /usr/lib/dri/radeonsi_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: radeonsi libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) libGL error: failed to load driver: swrast
Error from beeref.log
`2022-02-27 05:16:28,244 main 7906 139840951633664 Unhandled exception
Traceback (most recent call last):
File "beeref/fileio/init.py", line 100, in run
File "beeref/fileio/init.py", line 63, in load_images
File "beeref/fileio/image.py", line 85, in load_image
File "beeref/fileio/image.py", line 48, in exif_rotated_image
File "exif/_image.py", line 101, in getattr
File "exif/_app1_metadata.py", line 546, in getattr
File "exif/ifd_tag/_slong.py", line 30, in read
NotImplementedError: this package does not yet support setting SLONG tags since no SLONG tags exist in EXIF specification
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "plum/buffer.py", line 30, in unpack
File "plum/items.py", line 335, in unpack
File "", line 56, in unpack
File "plum/enum.py", line 103, in unpack
File "enum.py", line 310, in call
File "enum.py", line 564, in new
File "enum.py", line 548, in new
File "enum.py", line 577, in missing
ValueError: 8045 is not a valid TiffByteOrder
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "beeref/fileio/image.py", line 42, in exif_rotated_image
File "exif/_image.py", line 79, in init
File "exif/_image.py", line 54, in _parse_segments
File "exif/_app1_metadata.py", line 514, in init
File "exif/_app1_metadata.py", line 453, in _parse_ifd_segments
File "plum/buffer.py", line 33, in unpack
File "plum/buffer.py", line 53, in unpack_and_dump
plum.exceptions.UnpackError:
+--------+------------+-------+-------+-----------------+
| Offset | Access | Value | Bytes | Format |
+--------+------------+-------+-------+-----------------+
| | | | | TiffHeader |
| 0 | byte_order | 8045 | 1f 6d | tiff_byte_order |
+--------+------------+-------+-------+-----------------+
ValueError occurred during unpack operation:
8045 is not a valid TiffByteOrder
INFO beeref.fileio: Loading image from file PyQt6.QtCore.QUrl('file:///home/watership/Desktop/fire-flames.jpg')
INFO beeref.fileio: Loading image from file PyQt6.QtCore.QUrl('file:///home/watership/Desktop/flames shape.png')
ERROR beeref.fileio.image: Exif parser failed on image: /home/watership/Desktop/flames shape.png
ValueError: 27151 is not a valid TiffByteOrder`
This repeats, with a different number ...
ValueError: 57848 is not a valid TiffByteOrder
Am running MX-Linux 21, Mate desktop, kernel 5.10, and can see python3-qt5.15.2, qt5-gtk-platformtheme at 5.15.2 and other packages referencing qt 5.0.0, via package manager (can see beeref referring to PyQt6.QtCore). AMD/Radeon pc.
I would like to try BeeRef, but MacOS blocks it from opening due to 'security'.
Reproduce steps:
BeeRef-0.1.1
executableBeeRef-0.1.1
executable againA package called BeeRef.app
would be most convenient for Mac users. Is it possible to build BeeRef.app when making a release?
Describe the bug
Trying to launch the linux-ub22 app image results in failure. Nothing happens if launched through the desktop and trying to launch through the terminal prints an error. I've tried multiple solutions to get around what is described in the error log to see if something was wrong with my system but to no success.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The app launches as normal like the previous version.
Debug log:
DEBUG Qt: Got keys from plugin meta data QList("vnc")
DEBUG Qt: looking at "/tmp/_MEIwRhmGi/PyQt6/Qt6/plugins/platforms/libqminimalegl.so"
DEBUG Qt: Found metadata in lib /tmp/_MEIwRhmGi/PyQt6/Qt6/plugins/platforms/libqminimalegl.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"minimalegl"
]
},
"archlevel": 1,
"className": "QMinimalEglIntegrationPlugin",
"debug": false,
"version": 394752
}
DEBUG Qt: Got keys from plugin meta data QList("minimalegl")
DEBUG Qt: checking directory path "My home folder path to the appimage/platforms" ...
DEBUG Qt: "/tmp/_MEIwRhmGi/PyQt6/Qt6/plugins/platforms/libqxcb.so" cannot load: Cannot load library /tmp/_MEIwRhmGi/PyQt6/Qt6/plugins/platforms/libqxcb.so: (libxcb-cursor.so.0: cannot open shared object file: No such file or directory)
DEBUG Qt: QLibraryPrivate::loadPlugin failed on "/tmp/_MEIwRhmGi/PyQt6/Qt6/plugins/platforms/libqxcb.so" : "Cannot load library /tmp/_MEIwRhmGi/PyQt6/Qt6/plugins/platforms/libqxcb.so: (libxcb-cursor.so.0: cannot open shared object file: No such file or directory)"
INFO Qt: Could not load the Qt platform plugin "xcb" in "" even though it was found.
CRITICAL Qt: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: linuxfb, wayland-egl, offscreen, wayland, eglfs, minimal, vkkhrdisplay, xcb, vnc, minimalegl.
Aborted (core dumped)
Describe the bug
As the title says. With the binary, I am getting on 21.10
INFO __main__: Starting BeeRef version 0.2.0
INFO __main__: Using settings: /home/chris/.config/BeeRef/BeeRef.ini
INFO __main__: Logging to: /home/chris/.config/BeeRef/BeeRef.log
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
/usr/lib/x86_64-linux-gnu/gio/modules/libgiognutls.so: undefined symbol: g_byte_array_steal
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiognutls.so
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so
/usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so: undefined symbol: g_task_set_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so
/usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so: undefined symbol: g_task_set_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so
(BeeRef-0.2.0-linux:158116): GLib-GIO-ERROR **: 21:13:08.787: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'
Trace/Breakpoint ausgelöst (Speicherabzug geschrieben)
Everything worked fine on 20.04.
I tried to run 0.3 dev and 0.2 from git, but both simply do nothing, they run up to
[...]
DEBUG beeref.config: Found custom shorcuts for Actions/always_on_top: []
TRACE beeref.view: Recalculating scene rectangle...
TRACE beeref.view: Done recalculating scene rectangle
TRACE beeref.view: Recalculating scene rectangle...
TRACE beeref.view: Done recalculating scene rectangle
TRACE beeref.view: Recalculating scene rectangle...
TRACE beeref.view: Done recalculating scene rectangle
DEBUG beeref.view: No items in scene
TRACE beeref.view: Recalculating scene rectangle...
TRACE beeref.view: Done recalculating scene rectangle
but no window shows up.
To Reproduce
Install ubuntu 21.10 and run the binary 0.2 from this repository.
Expected behavior
Beeref should start 😉.
Screenshots
n/a
Debug log:
See above, if I can help to debug, please give me some instructions. I run the pytest and it reported 1 error:
FAILED tests/test_view.py::test_mouse_move_movewin - AssertionError: expected call not found.
Describe the bug
When an image with a URL containing non-ASCII characters is dropped to BeeRef, BeeRef hangs and the following error is printed to the terminal:
INFO beeref.fileio: Loading image from file PyQt6.QtCore.QUrl('https://upload.wikimedia.org/wikipedia/commons/a/af/Holden-modified_WW_II_jeep_field-ambulance_for_the_Pacific_Theater–left–National_Archives_fig-11.jpg')
WARNING Qt: QFSFileEngine::open: No file name specified
CRITICAL __main__: Unhandled exception
Traceback (most recent call last):
File "beeref/fileio/__init__.py", line 100, in run
File "beeref/fileio/__init__.py", line 63, in load_images
File "beeref/fileio/image.py", line 89, in load_image
File "urllib/request.py", line 216, in urlopen
File "urllib/request.py", line 519, in open
File "urllib/request.py", line 536, in _open
File "urllib/request.py", line 496, in _call_chain
File "urllib/request.py", line 1391, in https_open
File "urllib/request.py", line 1348, in do_open
File "http/client.py", line 1283, in request
File "http/client.py", line 1294, in _send_request
File "http/client.py", line 1132, in putrequest
File "http/client.py", line 1212, in _encode_request
UnicodeEncodeError: 'ascii' codec can't encode character '\u2013' in position 94: ordinal not in range(128)
To Reproduce
I'm using BeeRef 0.3.1 installed with flatpak, in Debian 12, Gnome, Wayland.
Steps to reproduce the behavior:
Expected behavior
BeeRef should import the image.
According to QUrl documentation, the problem is probably caused by using a wrong URL representation. Apparently, there is "unencoded representation [...] for showing to users" and "encoded representation [...] you would send to a web server".
The function beeref.fileio.image.load_image()
calls path.url()
, which produces unencoded representation. Replacing it with path.toEncoded()
will produce encoded representation, which should fix this problem. However, I have not tested this.
Screenshots
N/A
Debug log:
Debug log contains the traceback above.
I checked this app at viruses at VirusTotal and result was strange for open sources app.
BeeRef-0.2.0-linux - 1 security vendor flagged this file as malicious
BeeRef-0.2.0-windows.exe - 6 security vendors flagged this file as malicious
Source code (tar.gz) - No security vendors flagged this file as malicious
Any ideas are welcome...
Navigation is currently only possible by holding down middle-mouse button and panning.
It would be nice to also be able to use Shift+Scroll for horizontal scrolling and Shift+Ctrl+Scroll for vertical scrolling.
And maybe an optional minimap / navigation thumbnail?
Describe the bug
When I try to copy & paste many or all images in a scene to a new or different scene, I get only one image rather than all of it .
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Copying images to a new scene should work as it works when copying them in the same original scene.
BeeRef version 0.3.1
Pop OS 22.04
Need to wait for PyQt6 compability, see pytest-dev/pytest-qt#328
Hi, and thanks for this amazing piece of software, i didn't manage to crop an image inside it, this feature seems missing (or did i fail to find it ?)
Would be awesome to be able to crop an image before placing it into the canvas !
Cheers guys !
Describe the bug
Sadly I haven't managed to replicate exactly the bug pattern but essentially is when I have multiple pics on BeeRef, I do something on Beeref it could be moving the canvas or moving some pic. Then I came back to Krita. Beeref crashes on the moment I do that. I find it happens mostly when I have the "on top" feature activated.
I use an XP-Pen Tablet so maybe that have something to do with the problem.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I expect the software to do nothing when I change to the other program.
I think I mess up the debug log so I will upload it when I manage to crash beeref again. If I find any extra detail I will post it.
Wanted to help contribute to this project as I love the idea for art. However, after cloning main and installing the deps in a virtual env I ran into some failing test on windows 11 PC.
To Reproduce
Steps to reproduce the behavior:
python -m venv env
Expected behavior
I would expect there to be no errors or test failures when running pytest on main
Debug log:
FAILED tests/test_view.py::test_on_action_always_on_top_checked - AssertionError: Expected 'destroy' to have been called once. Called 0 times.
FAILED tests/test_view.py::test_on_action_always_on_top_unchecked - AssertionError: Expected 'destroy' to have been called once. Called 0 times.
FAILED tests/test_view.py::test_on_action_show_titlebar_checked - AssertionError: Expected 'destroy' to have been called once. Called 0 times.
FAILED tests/test_view.py::test_on_action_show_titlebar_unchecked - AssertionError: Expected 'destroy' to have been called once. Called 0 times.
FAILED tests/test_view.py::test_mouse_move_movewin - AssertionError: expected call not found.
FAILED tests/test_view.py::test_drop_when_url_beefile_and_scene_empty - AssertionError: expected call not found.
FAILED tests/selection/test_selectable_mixin.py::test_hover_move_event_rotate - AttributeError: 'BeeAssets' object has no attribute 'cursor_rotate'
FAILED tests/selection/test_selectable_mixin.py::test_hover_flip_event_top_edge - AttributeError: 'BeeAssets' object has no attribute 'cursor_flip_v'
FAILED tests/selection/test_selectable_mixin.py::test_hover_flip_event_bottom_edge - AttributeError: 'BeeAssets' object has no attribute 'cursor_flip_v'
FAILED tests/selection/test_selectable_mixin.py::test_hover_flip_event_left_edge - AttributeError: 'BeeAssets' object has no attribute 'cursor_flip_h'
FAILED tests/selection/test_selectable_mixin.py::test_hover_flip_event_right_edge - AttributeError: 'BeeAssets' object has no attribute 'cursor_flip_h'
FAILED tests/selection/test_selectable_mixin.py::test_hover_flip_event_top_edge_rotated_90 - AttributeError: 'BeeAssets' object has no attribute 'cursor_flip_h'
FAILED tests/selection/test_selectable_mixin.py::test_hover_flip_event_left_edge_when_rotated_90 - AttributeError: 'BeeAssets' object has no attribute 'cursor_flip_v'
ERROR tests/test_assets.py::test_singleton - TypeError: arguments did not match any overloaded call:
============ 13 failed, 538 passed, 1 warning, 1 error in 47.66s =============
Unhandled exception
Traceback (most recent call last):
File "C:\Users\pro58\workspace\beeref\beeref\view.py", line 521, in on_selection_changed
len(self.scene.selectedItems(user_only=True)))
File "C:\Users\pro58\workspace\beeref\beeref\scene.py", line 363, in selectedItems
items = super().selectedItems()
RuntimeError: wrapped C/C++ object of type BeeGraphicsScene has been deleted
Unhandled exception
Traceback (most recent call last):
File "C:\Users\pro58\workspace\beeref\beeref\view.py", line 521, in on_selection_changed
len(self.scene.selectedItems(user_only=True)))
File "C:\Users\pro58\workspace\beeref\beeref\scene.py", line 363, in selectedItems
items = super().selectedItems()
RuntimeError: wrapped C/C++ object of type BeeGraphicsScene has been deleted
On Windows x64, it is possible to zoom the canvas using pinch action on a trackpad.
Which is very nice.
But, pinch zoom does not work on a touchscreen.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Zoom around centroid of pinch
Describe the feature
While it's possible to select images using mouse or stylus, it would be nice if we can also navigate the images with keyboard shortcuts as they most often the quicker.
I could be wrong as I've not used PureRef in a while but I think it was possible to do it in that application using arrow keys.
Hi,
It would be very helpful if the image transparency can be modified in the canvas. Also being able to convert color images to BW temproarily is very helpful.
Thanks for making this app.
Hello,
in order to have a nice install of the binary release (0.2.0) for Linux, I downloaded the file listed here https://github.com/rbreu/beeref/releases/tag/v0.2.0 //// BeeRef-0.2.0-linux . Added +x permission to it.
Then downloaded the .desktop file..
and the logo.svg file
Edited the .desktop file and edited the paths to logo.svg and the executable.
Worked good..
But those three files could be in a directory, itself compressed into, .tar.gz file or so for Linux users.. With a setup.sh script that makes a properly filled .desktop file and stores it in the relevant home apps folder for Linux... (according to xdesktop standards or so..). No need to install perfectly for all distributions for now... Another idea, instead of the setup.sh script, the Python executable could deal with that setup actions, silently or with a dialog ("Do you agree to add Beeref to your application shortcuts?") to be run on the first start.
Just an idea :)
Suggestion: Clean executable name without version
For easier OS management, I prefer executable names that are generic.
Example where versioned names become cumbersome:
In Windows there is a Start menu folder where you can manually put links to programs. Since BeefRef is a portable app (aside: where does it save its preferences?) I have to put a link to BeeRef in this folder in order to be able to run it via Windows Start Menu. Issue: For every new version, I'll have to redo the link.n (Manually renaming the executable doesn't feel right, imo.)
Describe the bug
If building in a virtual environment, installing packages via pip -r requirements/dev.txt
won't pull all needed packages.
To Reproduce
Steps to reproduce the behavior:
python3 -m venv env
env/bin/activate
pip install requirements/dev.txt
Expected behavior
Install all needed packages.
Screenshots
N/A
Debug log:
N/A
Fix
Doing:
pip install PyQt6
pip install exif
pip install rectangle-packer
Fixed the problem.
Here is also output from pip freeze
from my virtual environment (IDK if that's will help you more):
beeref-pip-freeze.txt
My environment is MacOSX, so packackages like macholib
are platform specific (probably pulled in by pyinstaller
- I am not a python guru).
Describe the bug
It can't be opened.
The solution suggested on the Beeref website isn't working.
Great app, It would be nice to have the option to save the scene as an image
I'd like to overlay beeref over my art software by hiding the titlebar. Sometimes it gets in the way and being able to move it with a keymodifier ( maybe alt+drag on background? ) would be great.
This is a bug in Qt that occurs when pasting larger files from non-Qt apps on Linux. The clipboard sometimes appears to be empty. Repeatedly hitting Ctrl+V will eventually paste.
It's great to have a clean canvas at startup, but sometimes it's also useful to be able to quickly locate a past project.
So how about an optional grid of previews for recently opened projects? Similar to this mockup for MuseScore 4:
https://musescore.org/sites/musescore.org/files/2020-06/Strategy_2020_V03.004.png
Describe the bug
Drag screenshot into BeeRef and it is reflected horizontally.
To Reproduce
Steps to reproduce the behavior:
MacOS
Then open BeeRef
Expected behavior
Png files added to BeeRef should render similarly to other image viewer apps.
Screenshots
https://i.imgur.com/XYuo35u.png
Was reproduced with this screenshot: Screen Shot 2021-08-11 at 09 44 04
Debug log:
Not sure if needed or how to get this on MacOS. There is no Help menu on MacOS BeeRef.
Coming from PureRef and there I was able to crop images. AFAIK there's currently no such feature (right?) in BeeRef.
I thing a new mechanic can be added to the normalize width, height and size
Unless I'm missing something, currently beeref normalize (by width, height or size) by changing ALL the images to an average width, height or size.
The big image got slimmer while the other got wider.
Maybe it will be useful to be able to normalize the width, height or size to match one image.
(Selection order: Image_1, Image_2, Image_3, al widths will be normalized to match Image_1's width)
When trying to open a file saved by a previous version:
CRITICAL main: Unhandled exception
Traceback (most recent call last):
File "beeref/fileio/init.py", line 100, in run
File "beeref/fileio/init.py", line 43, in load_bee
File "beeref/fileio/sql.py", line 55, in wrapper
File "beeref/fileio/sql.py", line 207, in read
TypeError: init() got an unexpected keyword argument 'crop'
BeeRef crashes on each attempt of opening a file chooser dialog, like Open, Save and Save As.
This makes it impossible to save new .bee
files or open existing ones (except of launching them directly from file browser or shell).
BeeRef displays the file chooser.
2023-06-20 23:36:56,557 __main__ 12852 140667121545280 Starting BeeRef version 0.2.0
2023-06-20 23:36:56,562 __main__ 12852 140667121545280 System: Linux jupiter 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64
2023-06-20 23:36:56,563 __main__ 12852 140667121545280 Python: 3.7.3
2023-06-20 23:36:56,563 __main__ 12852 140667121545280 Using settings: /home/my_username/.config/BeeRef/BeeRef.ini
2023-06-20 23:36:56,563 __main__ 12852 140667121545280 Logging to: /home/my_username/.config/BeeRef/BeeRef.log
2023-06-20 23:36:56,626 beeref.assets 12852 140667121545280 Assets path: /tmp/_MEIeiUL6W/beeref/assets
2023-06-20 23:36:56,670 beeref.selection 12852 140667121545280 Initialized MultiSelectItem 0.0 x 0.0
2023-06-20 23:36:56,707 beeref.view 12852 140667121545280 No items in scene
Standard output:
INFO __main__: Starting BeeRef version 0.2.0
INFO __main__: Using settings: /home/my_username/.config/BeeRef/BeeRef.ini
INFO __main__: Logging to: /home/my_username/.config/BeeRef/BeeRef.log
Gtk-Message: 23:32:57.745: Failed to load module "xapp-gtk3-module"
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 6: unknown element "reset-dirs"
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
(beeref:12487): Gtk-WARNING **: 23:33:07.094: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Papirus-Dark/16x16/actions/image-missing.svg: Unable to load image-loading module: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /tmp/_MEIQa9YFr/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libicuuc.so.72) (gdk-pixbuf-error-quark, 5)
[1] 12486 IOT instruction (core dumped) beeref
Would be great to have ability to store gifs and mp4/webm files which behaves as gifs (no sound, no interface, autoplay). Maybe not inside, in the folder right next to project file.
Steps to reproduce the behavior:
Running MacOS Ventura.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.