Closed PoroCYon closed 6 years ago
Hi @PoroCYon, thanks for your interest in the project! Thanks for catching that, I've added in the missing file now.
It's worth mentioning that Axiom is currently in super-early development, so there's not really anything to try out yet, nor can you necessarily expect for the main branch to actually be buildable. It's in active development, so expect things soon!
Thanks! It actually builds perfectly now, even though it segfaults immediately when I try to click something:
Thread 1 "axiom" received signal SIGSEGV, Segmentation fault.
0x00007ffff5aaf496 in __strlen_sse2 () from /usr/lib/libc.so.6
(gdb) bt
#0 0x00007ffff5aaf496 in __strlen_sse2 () from /usr/lib/libc.so.6
#1 0x00007ffff695b2ed in QCoreApplication::arguments() () from /usr/lib/libQt5Core.so.5
#2 0x00007fffef1f56c2 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#3 0x00007fffef1f5be7 in QXcbIntegration::wmClass() const () from /usr/lib/libQt5XcbQpa.so.5
#4 0x00007fffef20d4a5 in QXcbWindow::create() () from /usr/lib/libQt5XcbQpa.so.5
#5 0x00007fffef1f6d22 in QXcbIntegration::createPlatformWindow(QWindow*) const () from /usr/lib/libQt5XcbQpa.so.5
#6 0x00007ffff6ed2ece in QWindowPrivate::create(bool, unsigned long long) () from /usr/lib/libQt5Gui.so.5
#7 0x00007ffff7703d88 in QWidgetPrivate::create_sys(unsigned long long, bool, bool) ()
from /usr/lib/libQt5Widgets.so.5
#8 0x00007ffff7704430 in QWidget::create(unsigned long long, bool, bool) () from /usr/lib/libQt5Widgets.so.5
#9 0x00007ffff771187a in QWidget::setVisible(bool) () from /usr/lib/libQt5Widgets.so.5
#10 0x00007ffff7857312 in QMenu::popup(QPoint const&, QAction*) () from /usr/lib/libQt5Widgets.so.5
#11 0x00007ffff786389c in ?? () from /usr/lib/libQt5Widgets.so.5
#12 0x00007ffff7865a28 in ?? () from /usr/lib/libQt5Widgets.so.5
#13 0x00007ffff78663a2 in QMenuBar::mousePressEvent(QMouseEvent*) () from /usr/lib/libQt5Widgets.so.5
#14 0x00007ffff77127bf in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#15 0x00007ffff786768c in QMenuBar::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff76d1e3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#17 0x00007ffff76d9d91 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#18 0x00007ffff69571e0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#19 0x00007ffff76d8d1a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007ffff772d289 in ?? () from /usr/lib/libQt5Widgets.so.5
#21 0x00007ffff772f9a0 in ?? () from /usr/lib/libQt5Widgets.so.5
#22 0x00007ffff76d1e3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#23 0x00007ffff76d9816 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#24 0x00007ffff69571e0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#25 0x00007ffff6ec8634 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
from /usr/lib/libQt5Gui.so.5
#26 0x00007ffff6eca186 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5
#27 0x00007ffff6ea1bbc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQt5Gui.so.5
#28 0x00007fffef27615d in ?? () from /usr/lib/libQt5XcbQpa.so.5
#29 0x00007ffff695582b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#30 0x00007ffff695eb18 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#31 0x0000000100010ed0 in main (argc=1, argv=0x7fffffffd1f8) at src/main.cpp:8
This looks like an internal Qt error, probably my bad for using an experimental window manager.
And don't worry about me stealing it, I'm currently working on a 4k intro, and I don't think this would fit in the size limit.
Yup, this looks like something in Qt... not something I can help with, sorry.
Don't worry, I wouldn't have open-source and MIT-licensed this project if I was worried about people 'stealing' it -- although Axiom is designed to be usable in both 4k and 64k projects (just depends on the complexity of the instruments you create), as I said above it's so early in development that literally nothing actually works yet. I'm still in the process of hammering down a good UI, haven't even started the sound engine or VST stuff yet. In the future when it's more feature-complete, feel free to use it for whatever! That's why it's open-source ๐
The problem seems to have fixed itself ยฏ\_(ใ)_/ยฏ
, but not everything seems to react to my mouse clicks. Oh well.
Also, you broke the build :P
(it's all platform- or compiler-dependent things, I think)
diff --git a/src/model/Schematic.cpp b/src/model/Schematic.cpp
index 750a714..6340d6f 100644
--- a/src/model/Schematic.cpp
+++ b/src/model/Schematic.cpp
@@ -11,7 +11,7 @@ void Schematic::setPan(QPointF pan) {
}
void Schematic::serialize(QDataStream &stream) const {
- stream << pan() << m_nodes.size();
+ stream << pan() << static_cast<qint32>(m_nodes.size());
for (const auto &node : m_nodes) {
//node.serialize(stream);
}
Without the static_cast
, the <<
is ambiguous. MinGW must be doing naughty things, then. (I'm using GCC 7.2.1, fyi.)
diff --git a/src/widgets/node/NodeItem.cpp b/src/widgets/node/NodeItem.cpp
index 76c169e..ff034b9 100644
--- a/src/widgets/node/NodeItem.cpp
+++ b/src/widgets/node/NodeItem.cpp
@@ -5,8 +5,8 @@
#include <QtWidgets/QGraphicsSceneMouseEvent>
#include <QtWidgets/QStyleOptionGraphicsItem>
-#include "noderesizer.h"
-#include "nodeitemcontent.h"
+#include "NodeResizer.h"
+#include "NodeItemContent.h"
#include "../schematic/SchematicCanvas.h"
#include "src/model/Node.h"
Paths are case-sensitive on non-Windows.
Oops! Not sure how that case insensitivity crept in there, must be old coding habits ๐
As for the <<
, I don't think that should be ambiguous? m_nodes.size()
is an unsigned int, there is an overload for <<
that accepts a quint32 (which is just a typedef for unsigned int). Works fine on GCC 7.1.0, perhaps could be a difference in Qt versions? (I'm using Qt 5.9.3) Either way, I've put a cast into 67ac15b, let me know if that fixes it for you.
Regarding reacting to mouse clicks, that's probably because most things don't have any click behaviour yet. As I said, everything's still super-early-progress, most things won't work.
Oops! Not sure how that case insensitivity crept in there, must be old coding habits ๐
I'm lazy and use lowercase everywhere ใฝ( ๏ฝกใฎ๏พ)ใ
.
As for the <<, I don't think that should be ambiguous? m_nodes.size() is an unsigned int, there is an overload for << that accepts a quint32 (which is just a typedef for unsigned int).
std::vector.size
is a size_t
, whose size depends on the platform. I guess you're using a 32-bit compiler? (qt5-base
here is 5.10.0)
Regarding reacting to mouse clicks, that's probably because most things don't have any click behaviour yet. As I said, everything's still super-early-progress, most things won't work.
I expected that, don't worry :P
. (Even though this behaviour is quite common with my broken WM, too. I usually put Vim keybindings on everything as a 'solution'...)
Ah, good point, completely forgot it'd be a size_t
... I looked at the return value in my IDE and it said unsigned int
and just went with that %). But yes, it is a 32-bit compiler. I'm clearly used to doing C++ in an environment where I don't have to worry if it works on any other architectures hehe (i.e demoscene productions).
I'm clearly used to doing C++ in an environment where I don't have to worry if it works on any other architectures hehe (i.e demoscene productions).
I don't have much to say in that regard, I'm "linking" stuff using gcc -S
and awk
...
Also, this conversation has evolved in something "real-time". Do you happen to be on IRC? I'm "PoroCYon" (what a surprise!) on most networks.
Sure am! I only really frequent #revision on IRCnet (demoscene-related channel), as.. you guessed it.. 'cpdt' ๐
diff --git a/src/widgets/schematic/SchematicPanel.cpp b/src/widgets/schematic/SchematicPanel.cpp
index 664cb9c..f539f1f 100644
--- a/src/widgets/schematic/SchematicPanel.cpp
+++ b/src/widgets/schematic/SchematicPanel.cpp
@@ -3,7 +3,7 @@
#include "src/util.h"
#include "src/AxiomApplication.h"
#include "SchematicView.h"
-#include "src/model/schematic.h"
+#include "src/model/Schematic.h"
using namespace AxiomGui;
Been naughty again? :P
Dammit... I blame my IDE ๐ Thanks for all the sanity checking though! Would you be happy if I gave you contributor rights so you can fix these kinds of things when they come up? It would definitely be helpful having someone testing everything on a unix-like OS to make sure I don't continuously fall into these traps.
Sure, if you don't mind. I won't be able to check a lot, though, as I'm currently studying for the exams.
Dammit... I blame my IDE ๐
It would definitely be helpful having someone testing everything on a unix-like OS to make sure I don't continuously fall into these traps.
Install Gentoo and use Vim! :P
Fair enough. I've sent you a collaborator invite, if you accept don't feel obliged to do anything though. And good luck with your exams!
I tried running Linux once, unfortunately it seems that many of the things I rely on tend to be Windows-only :confused:
Hi, I wanted to try it out, but this happened when I tried using CMake to generate a Makefile:
This file doesn't seem to exist in the repo. Forgot to
git add
it? (Happens with me, too.)FYI, I'm on Linux-libre-hardened 4.13.13 x86_64, but that shouldn't matter.