Git Product home page Git Product logo

milton's Introduction

MiltonLogo

Milton is an open source application that lets you Just Paint.

There are no pixels, you can paint with (almost) infinite detail. It feels raster-based but it works with vectors. It is not an image editor. It is not a vector graphics editor. It is a program that lets you draw, sketch and paint. There is no save button, your work is persistent with unlimited undo.

Milton Paint ss

zoooom

What Milton is not:

Milton is not an image editor or a vector graphics editor. It's a program that lets you draw, sketch and paint.

User Manual

If the GUI makes something not-obvious, please create a github issue!

It's very helpful to drag the mouse (or pen) while pressing space to pan the canvas. Also, switching between the brush and the eraser with b and e. You can change the brush size with [ and ] and control the transparency with the number keys.

Here is the latest video tutorial

Check out the patreon page if you would like to help out. :)

While on Windows there are binaries available, for Milton on Linux or OSX you will have to compile from source. There are some basic build instructions below. They will probably build, but please be prepared to do a bit of debugging on your end if you run into trouble, since these are not the primary development platforms.

How to Compile

Windows

Milton currently supports Visual Studio 2019.

Other versions of Visual Studio might not work.

To build:

Run a x64 developer command prompt (for VS 2019 this corresponds to the "x64 Native Tools Command Prompt") and type the following:

build.bat

Milton will be compiled to build\Milton.exe

This repo provides a binary SDL.lib that was compiled by running build_deps.bat in the third_party directory.

Linux and macOS

As of 2018-10-24, linux and mac are not officially supported. I (Sergio) would like to support them again but my efforts are currently going into producing a new release for Windows. You can try and compile with the included scripts, but things will likely not work!

On 2021-02-27 a successful build for Linux can be done with these steps:

While in the milton top directory

cd third_party/SDL2-2.0.8
mkdir build
cd build
cmake -DVIDEO_WAYLAND=OFF -DCMAKE_INSTALL_PREFIX=linux64 -DCMAKE_BUILD_TYPE=Debug ../
make
make install

and then in the milton top directory, so cd ../../../,

mkdir build
cd build
cmake ../
make

And if successful, you should have an executable called "Milton" that runs.

I did not make this work automatically with CMake, because I don't know CMake.

Versioning scheme

Milton uses a MAJOR.MINOR.PATCH versioning scheme, where MAJOR keeps track of very significant changes, such as a UI overhaul. MINOR keeps track of binary file format compatibility. PATCH is incremented for new releases that do not break file format compatibility. PATCH version gets reset to 0 when the MINOR version increases.

For example, Milton version 1.3.1 can read mlt files produced any previous version, but it can't read files produced by 1.4.0

License

Milton

Copyright (C) 2015 - 2018 Sergio Gonzalez

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Thanks

Milton is made with love by Sergio Gonzalez with the help of awesome people.

milton's People

Contributors

aameen951 avatar alexpana avatar andrewjdr avatar chipviled avatar city-busz avatar cmourglia avatar etscrivner avatar gavinbeatty avatar gitter-badger avatar gsass1 avatar islocated avatar jamoflaw avatar joaocsf avatar justas-d avatar kainjow avatar luzpaz avatar mcmihai avatar mifreundorfer avatar monsterovich avatar mronetwo avatar noidexe avatar paiv avatar phmongeau avatar serge-rgb avatar smilex avatar terrybrash avatar tilmannr avatar waffle-iron 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  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

milton's Issues

Copy and Paste

Hey,

It would be great if I could copy/cut and drag like in paint.

It would also be nice to be able to copy images from the copy-paste buffer.

Zoom level inaccuracy

The zoom level text only gets updated after I move my mouse. If I zoom without moving my mouse around, an outdated zoom level gets displayed.

log2(1 + milton_state->view->scale / (double)MILTON_DEFAULT_SCALE));

The variable milton_state->view->scale appears to be outdated at times.

Edit: It seems that the bug fixes itself when I click anywhere on the top bar.

Brush stops painting randomly

Milton: 1.2.7
OS: Windows 8.1

When doing a long stroke, the brush will stop painting after a short time.

Video: https://www.youtube.com/watch?v=vvfMNK6Xe1s

In the video, I am holding Mouse 1 and drawing squiggles until the brush stops painting. I am not releasing Mouse 1 until the brush stops painting.

At the end of the video you'll notice I present the same issue occurring with the eraser.

Toggle Brush/Eraser with one button

It would be nice if the user could toggle between brush and eraser with the same button. Graphic tablets do not have lots of buttons available, so this would help a lot.

Milton 1.5.1 crashes on closing

CommandLine is
Running Milton
Initializing SDL... Done.
Loading preferences... Could not open file for writing prefs
Done.
Creating Milton Window
Created OpenGL context with version 4.5.0 NVIDIA 385.69
and GLSL 4.50 NVIDIA
Easy Tab Failed to load. Code -3Maximum viewport dimensions, 16384.000000x16384.000000
Vendor string: "NVIDIA Corporation"
Milton: loading file
Could not open file!Increased guid to 1

*nix case issue

in src/milton_unity_build.cc
#include "Stroke.h"
filesystem has "stroke.h"

not sure what convention you want to go with here.

Erasor Bursh Size Maximum Bug.

When you are adjusting the erasor brush size in Milton, the maximum size it can be is 79 rather than 80 as when you let go of slider, the size decreases. I am using Milton version 1.4.2.

using alphas background, to ease annotation creations

use the alpha channel to allow fluent markup over videos, I really like epic pen open source project it has probably the best design and customization for marking up your windows, I also like mischief approach to drawing that Milton has with the infinite canvas that could really help bring a fluid experience to make mind maps when watching moocs and video tutorials, so after seeing the setup that milton uses for background color and suspecting it has and alpha channel the implementation could be the awesome fusion that i need, they only other suggestion would be some more shortcuts like ctrl + spacebar to easily zoom in and out, to be the end all open source app

Lasso Tool & Alt key for eyedropper

Hi! Just sharing an idea. It would be great to have a lasso tool like photoshop has to selected certain areas and be able to move them or copy/paste them in other places in the canvas.

Thank you!

Crash on linux with intel graphics card

The bug occured after executing a fresh build from f685ab9. I just ran it by doing:

git clone https://github.com/serge-rgb/milton
cd milton
make
cd build
./milton

A window was showing up, but it instantly crashed.
Im running arch linux and im having sdl2 installed.
crash_log.txt

missing file?

in hardware_render.cc
#include "shaders.gen.h"

this file is .gitignore-ed thus not in the repo.

Getting an assertion crash when I launch the program.

Here is the log

CommandLine is
Running Milton
Initializing SDL... Done.
Loading preferences... Could not open file for writing prefs
Done.
Creating Milton Window
Created OpenGL context with version 4.5.13447 Compatibility Profile Context 16.300.2311.0
and GLSL 4.50
Maximum viewport dimensions, 16384.000000x16384.000000
Vendor string: "ATI Technologies Inc."
Milton: loading file
Could not open file!Increased guid to 1

here is a screen shot

Middle mouse to drag

This is a feature request for a "middle mouse button to drag" binding in addition to space bar.

I use Milton for math and it'd be useful to be able to sit back and draw/pan with one hand.

Help Wanted: Testing Milton with Wacom clones

As of right now, there is rudimentary Wacom support through EasyTab. Just pressure information and position. No buttons or eraser. That will come soon.

This functionality has only been tested by me with my Bamboo Pen & Touch Small. A friend of mine reported having problems with his Chinese tablet, which apparently tries to conform to the Wacom API. I do not have access to his device and I am trying to get in contact with him to fix the bug.

If you have a Wacom competitor that works with other software with existing Wacom drivers, please let me know if you have problems! If they really Just Work with other software, they should work with Milton.

This issue would directly help sister project Papaya, since we share our Wacom code.

Scaling Issue

When scaling the display on Windows for high DPI screens (e.g. 4K screens), the canvas acts as if the screen is not scaled, so the touch location does not correlate with where the marks are made on the canvas.

Edit: I see a duplicate issue, and that the developer is aware.

Build failure; C++ syntax warning as error; && appears in a ||

C++ src/sdl_milton.cc
/home/k2t0f12d/dev/milton/src/sdl_milton.cc:208:65: error: '&&' within '||' [-Werror,-Wlogical-op-parentheses]
if ( ( event.button.button == SDL_BUTTON_LEFT && ( EasyTab == NULL || !EasyTab->PenInProximity )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/k2t0f12d/dev/milton/src/sdl_milton.cc:208:65: note: place parentheses around the '&&' expression to silence this warning
if ( ( event.button.button == SDL_BUTTON_LEFT && ( EasyTab == NULL || !EasyTab->PenInProximity )
^
( )
1 error generated.

diff --git a/src/sdl_milton.cc b/src/sdl_milton.cc
index 725b322..2933e42 100644
--- a/src/sdl_milton.cc
+++ b/src/sdl_milton.cc
@@ -205,8 +205,8 @@ sdl_event_loop(MiltonState* milton_state, PlatformState* platform_state)
if ( event.button.windowID != platform_state->window_id ) {
break;
}

  •            if ( (   event.button.button == SDL_BUTTON_LEFT && ( EasyTab == NULL || !EasyTab->PenInProximity )
    
  •                  || event.button.button == SDL_BUTTON_MIDDLE)
    
  •            if ( ( (   event.button.button == SDL_BUTTON_LEFT && ( EasyTab == NULL || !EasyTab->PenInProximity ) )
    
  •                    || event.button.button == SDL_BUTTON_MIDDLE)
                    // Ignoring right click events for now
                    /*|| event.button.button == SDL_BUTTON_RIGHT*/ ) {
                   if ( !ImGui::GetIO().WantCaptureMouse ) {
    

Error when compiling

d:\programs\milton-master\src\persist.c(450): error C2220: warning treated as error - no 'object' file generated
d:\programs\milton-master\src\persist.c(450): warning C4242: 'function': conversion from 'u64' to 'size_t', possible loss of data
[FATAL] -- ... error building Milton

Using the Developer command Prompt for VS2015

Brush cursor not visible

My cursor is entirely invisible when inside the canvas area using Milton 1.2.8 on Windows 7. There is no outline of the brush cursor. This makes it impossible to see where I'm about to paint before clicking.

Instant close/crash on Windows 10 Pro on fresh install

  • Windows 10 Pro, Version 1607 (OS Build: 14393.321)
  • i7-2620M 2.7GHZ
  • 8GB of RAM
  • Intel HD Graphics 3000

Never run Milton before, went to give it a quick go and the window opens then immediately closes (still unpainted/white).

Not at all going to be surprised if its Intel HD Graphics 3000 being awful.

Launch crash - v1.4.0

This is the first time I am launching the application on this laptop.
It opens the window to the canvas, and then crashes with an error. Windows asks to look for a solution online/close the application.

The log file show this:

CommandLine is 
Running Milton
Initializing SDL... Done.
Loading preferences... Could not open file for writing prefs
Done.
Creating Milton Window
Created OpenGL context with version 3.1.0 - Build 8.15.10.2538
    and GLSL 1.40  - Intel Build 8.15.10.2538
Maximum viewport dimensions, 8192.000000x8192.000000
Vendor string: "Intel"
Milton: loading file
Could not open file!Increased guid to 1

Machine specs:

Windows 7 x64 Professional
Intel i5-2520M
4GB RAM

Milton 1.4.0 crash on windows 10

Here's the Log:

CommandLine is
Running Milton
Initializing SDL... Done.
Loading preferences... Could not open file for writing prefs
Done.
Creating Milton Window
Created OpenGL context with version 3.1.0 - Build 9.17.10.4229
and GLSL 1.40 - Intel Build 9.17.10.4229
Maximum viewport dimensions, 8192.000000x8192.000000
Vendor string: "Intel"
Milton: loading file
Could not open file!Increased guid to 1

error: no function with name 'texture2DLodOffset'

I am using Debian Jessie. I installed libsdl2-dev, gtk+-2.0, and clang to get Milton to compile. make ran with no errors. I tried to run Milton, but it exited immediately. It provides this console output:

$ ./build/linux-clang-debug-default/Milton
Gtk-Message: Failed to load module "canberra-gtk-module"
Running Milton
Initializing SDL... Done.
Loading preferences... Could not open file for writing prefs
Done.
Creating Milton Window
Created OpenGL context with version 3.0 Mesa 10.3.2
    and GLSL 1.30
Maximum viewport dimensions, 16384.000000x16384.000000
Vendor string: "Intel Open Source Technology Center"
SHADER SOURCE:
#define texture texture2D

Shader compilation info. 
    ---- Info log:
0:12(9): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:186(17): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:214(17): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:438(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:439(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:440(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:441(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:442(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:443(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:444(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:445(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:446(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:447(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:448(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:449(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:450(13): preprocessor warning: Macro names containing "__" are reserved for use by the implementation.

0:16(12): warning: extension `GL_ARB_gpu_shader4' unsupported in fragment shader
0:793(26): error: no function with name 'texture2DLodOffset'
0:793(17): error: no matching function for call to `FxaaLuma(error)'; candidates are:
0:793(17): error:    float FxaaLuma(vec4)
0:794(26): error: no function with name 'texture2DLodOffset'
0:794(17): error: no matching function for call to `FxaaLuma(error)'; candidates are:
0:794(17): error:    float FxaaLuma(vec4)
*** [FATAL] ***: 
	Shader compilation error

This is the version I am running:

$ git log -n 1
commit c147b64e165e14ff1a8dfe6bb140463c1e1328e2
Author: Sergio Gonzalez <[email protected]>
Date:   Fri Jan 20 17:29:42 2017 -0600

    FXAA for GUI elements

If there is any more information I can provide, please let me know. I appreciate your help.

Timestep

Hey,

Can you insert something so we can like step through a painting like slides.

I want to use this to show a very long derivation in class.

Typos in the website

Milton is a free and open-souce, infinte canvas paint program

should be

Milton is a free and open source infinite canvas paint program

Scaling issue on my laptop, but not my desktop

I was disappointed when I got onto my laptop with my wacom tablet to notice that pen was off from the cursor, and it didn't happen when on my desktop. But I noticed it drew closer to the cursor towards the top left (where I'm assuming the origin is), and got further from the cursor as I drew towards the bottom right. I'll record a video when I get back home and post it here if I remember. (I'm using 1.2.4)

Feature request: Draw line

Would be really nice to be able to draw lines.

Here is how I propose it should work.

A line is drawn from a point 'A' to a point 'B'.

  1. Draw something such as a dot. The last point in the drawing (before lifting the pen) is marked as 'A'.
  2. Hold Shift.
  3. While holding shift, draw something such as a dot. The first point in the drawing (as the pen starts touching the tablet) is marked as 'B'.
  4. Draw a line from 'A' to 'B'.
  5. While holding shift, the last point in the drawing (before lifting the pen) is NOT marked as a new 'A'.

Property 5 makes it possible to draw perspective lines easily.
https://i.imgur.com/7YrArv3.jpg

Multi Display Adapter Support

I get this weird behavior where on one of my monitor Milton doesn't appear to do anything at all. But when I drag it over to my other monitor, it shows what I was intending to be doing. Then when I drag it back, it again looks like it doesn't draw anything at all. And dragging it back again, I see what I was trying to draw.

Hard to explain, so here is a recording of it.

multi-monitor

One thing important to note is that the 2 monitors are running over 2 different display adapters, one is DisplayLink and the other is an Intel HD 620. So Milton is choosing the Intel HD 620 and not working on the other adapter.

https://mollyrocket.com/casey/blog_0032.html

Drawing while erasing

Version: 1.2.8

Hello, I've found this strange bug that is causing Milton to draw the path of your eraser and recreating the erased part.

  1. Keep your mouse button always pressed, never let it go
  2. Draw something
  3. Select the eraser via hotkey
  4. Erase the things you drawed
  5. Select the brush via hotkey
    --> It redraws the erased part as well as the path of the eraser

Here is a short video showing it off: https://www.youtube.com/watch?v=iwcu7blRG78

Zoom info feature request

In a previous version, there was a debug window that showed the zoom level. It looks like the debug window was removed. It would be nice if the zoom level was shown somewhere on the interface (perhaps at the top next to the last save info).

Can't build on a modern machine (x64, Win 10), followed Readme

Hi, found you guys via Handmade Hero (Casey)

When following the build instructions, I made no modifications because they were already in place:

`C:\Users\h3rb\Downloads\milton-master\milton-master\scripts>cd ..

C:\Users\h3rb\Downloads\milton-master\milton-master>scripts\vcvars.bat

C:\Users\h3rb\Downloads\milton-master\milton-master>build
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24210 for x86
Copyright (C) Microsoft Corporation. All rights reserved.

ctime.c
Microsoft (R) Incremental Linker Version 14.00.24210.0
Copyright (C) Microsoft Corporation. All rights reserved.

/out:ctime.exe
ctime.obj
winmm.lib
1 file(s) copied.
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Copyright (C) Microsoft Corporation. All rights reserved.

    1 file(s) copied.
    1 file(s) copied.

[BUILD] -- Building Milton...
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24210 for x86
Copyright (C) Microsoft Corporation. All rights reserved.

shadergen.cc
Microsoft (R) Incremental Linker Version 14.00.24210.0
Copyright (C) Microsoft Corporation. All rights reserved.

/out:shadergen.exe
/debug
shadergen.obj
milton_unity_build.cc
Microsoft (R) Incremental Linker Version 14.00.24210.0
Copyright (C) Microsoft Corporation. All rights reserved.

milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_SetClipboardText referenced in function "void __cdecl ImGui_ImplSdlGL3_SetClipboardText(char const *)" (?ImGui_ImplSdlGL3_SetClipboardText@@YAXPBD@Z)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GetClipboardText referenced in function "char const * __cdecl ImGui_ImplSdlGL3_GetClipboardText(void)" (?ImGui_ImplSdlGL3_GetClipboardText@@YAPBDXZ)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GetSystemRAM referenced in function "unsigned int __cdecl get_system_RAM(void)" (?get_system_RAM@@yaixz)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_CreateWindow referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GetWindowID referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GetWindowFlags referenced in function "void __cdecl ImGui_ImplSdlGL3_NewFrame(void)" (?ImGui_ImplSdlGL3_NewFrame@@yaxxz)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GetWindowSize referenced in function "void __cdecl ImGui_ImplSdlGL3_NewFrame(void)" (?ImGui_ImplSdlGL3_NewFrame@@yaxxz)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GL_SetAttribute referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GL_CreateContext referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GL_SetSwapInterval referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GL_SwapWindow referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GetModState referenced in function "bool __cdecl ImGui_ImplSdlGL3_ProcessEvent(union SDL_Event *)" (?ImGui_ImplSdlGL3_ProcessEvent@@YA_NPATSDL_Event@@@z)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GetKeyFromScancode referenced in function "enum LayoutType __cdecl get_current_keyboard_layout(void)" (?get_current_keyboard_layout@@ya?AW4LayoutType@@xz)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GetMouseState referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_CreateCursor referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_CreateSystemCursor referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_SetCursor referenced in function "void __cdecl cursor_set_and_show(struct SDL_Cursor *)" (?cursor_set_and_show@@YAXPAUSDL_Cursor@@@z)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_ShowCursor referenced in function "void __cdecl ImGui_ImplSdlGL3_NewFrame(void)" (?ImGui_ImplSdlGL3_NewFrame@@yaxxz)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_PollEvent referenced in function "struct MiltonInput __cdecl sdl_event_loop(struct MiltonState *,struct PlatformState *)" (?sdl_event_loop@@ya?AUMiltonInput@@PAUMiltonState@@PAUPlatformState@@@z)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_WaitEvent referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_EventState referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GetTicks referenced in function "void __cdecl milton_update_and_render(struct MiltonState *,struct MiltonInput *)" (?milton_update_and_render@@YAXPAUMiltonState@@PAUMiltonInput@@@z)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_Delay referenced in function "void __cdecl milton_update_and_render(struct MiltonState *,struct MiltonInput *)" (?milton_update_and_render@@YAXPAUMiltonState@@PAUMiltonInput@@@z)
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_Init referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_Quit referenced in function _milton_main
milton_unity_build.obj : error LNK2019: unresolved external symbol _SDL_GetWindowWMInfo referenced in function _milton_main
SDL2.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'X86'
Milton.exe : fatal error LNK1120: 26 unresolved externals
[FATAL] -- ... Error building Milton`

I'm interested in helping bring Milton to Linux

Hi @serge-rgb, as the title mentions, I'm interesting in helping bring Milton to Linux. I'm a Gentoo staffer, so I'd have to start there. Where do you need/want help? What can I do?

EDIT: I'm coming back to mention that I did a little poking around and didn't notice a dependency list. I'm not too familiar with graphical C++ projects, so perhaps you can point me in the correct direction regarding what I need to get this project compiling. :) Thanks!

Crash on Surface Pro 4 When Pen Interacts

Hello,

I just wanted to report that Milton is crashing immediately on interaction with a Pen when running on a Surface Pro 4. Everything works fine until the pen focuses into the application. Below is the windows event error. If there is a milton crash log saved anywhere I can pull that and give it to you as well.

Log Name: Application
Source: Application Error
Date: 10/14/2016 3:01:32 AM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: DESKTOP-HN2E64H
Description:
Faulting application name: Milton.exe, version: 0.0.0.0, time stamp: 0x57f56f52
Faulting module name: Wintab32.dll, version: 1.0.0.20, time stamp: 0x561b4f13
Exception code: 0xc0000094
Fault offset: 0x0000000000002a27
Faulting process id: 0x14e8
Faulting application start time: 0x01d225e8c76f8bb7
Faulting application path: C:\Users\wrong\Desktop\Milton_1.2.6_Standalone_x64\Milton.exe
Faulting module path: C:\windows\SYSTEM32\Wintab32.dll
Report Id: cfeb2282-a741-4ffe-bf73-e90af5f25c38
Faulting package full name:
Faulting package-relative application ID:
Event Xml:



1000
2
100
0x80000000000000

9759
Application
DESKTOP-HN2E64H



Milton.exe
0.0.0.0
57f56f52
Wintab32.dll
1.0.0.20
561b4f13
c0000094
0000000000002a27
14e8
01d225e8c76f8bb7
C:\Users\wrong\Desktop\Milton_1.2.6_Standalone_x64\Milton.exe
C:\windows\SYSTEM32\Wintab32.dll
cfeb2282-a741-4ffe-bf73-e90af5f25c38





Crash when compiling shaders

Milton crashes (using 1.2.6 x64 win portable) with following error:
Vertex shader failed to compile with the following errors: ERROR: error(#271) Explicit version number 120 not supported by GL3 forward compatible context

My graphics is: AMD Radeon R9 200 Series

Panning broke in 1.2.8 and 1.3.0

When I use the middle click button on my mouse, I can pan.

On my Wacom bamboo tablet, the button is set be a middle click. It doesn't pan.

Oddly enough, if I go in my Wacom settings, change the button to something else, then set it back to middle mouse button, the panning works for a single time. After that it stops working again. Hopefully that helps.

Edit: Tested to make sure, the panning works on version 1.2.7.
Edit2: Pressing space bar and dragging does work even with the pen.

Enhance Milton as a "black/white board" or Khan Academy style videos?

(Edit: sorry about the double posting, not sure if you can delete the other one #32 )

Hi and thanks for this great software!

I find Milton excellent as a black/white board and Khan Academy style videos (light app, easy to hide UI, infinite canvas and zoom); I'm going to show it to teachers in my uni.

Two features ideas which could enhanced Milton in this usage:

  • have the five color slots accessible via hotkey so we can change color without showing the UI.

  • import image to draw on or around (maybe not possible due to the vector nature of Milton).

Anyway thanks and keep it up! :)

(discovered Milton while watching Handmade Hero dev on Twitch who used it as a black board).

Wacom and high DPI monitors

When using a Wacom tablet (Intuos 3) on Windows 10 with scaling enabled, the cursor location and drawing location do not match up.

Reproduce:

  1. In "Display Settings" set "Change the size of text,apps, and other items:" to any other value than 100%
  2. Start Milton
  3. Draw

When setting it to 100% and restarting Milton, it works. Also using the mouse cursor works with all scaling values

Panning only works ~50% of times

Using the mouse to middle click and drag to pan, I find myself trying to pan several times extra, because it skips panning a lot of times.
Otherwise it's a very good piece of software, kudos @serge-rgb. You do a great job! Thanks

Incorrect behavior with Wacom tablets when using Tablet Area option

I sometimes use my Wacom Intuos 4 in a vertical orientation where I have the screen mapped to only a portion of the tablet's working area. A screenshot of how I have the tablet set up is below.

aaa
Milton seems to ignore these settings (i.e., the red rectangle). Instead, it maps the entire working area to the screen, which results in a squashed aspect ratio when the tablet is in a vertical orientation (i.e., I have to move the pen a greater distance vertically than horizontally to move the same distance on screen).

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.