tweecode / twine

UI for creating hypertext stories
http://twinery.org
656 stars 97 forks source link

1.4.2 vs. 1.4.3 and macOS development? #200

Open frozenpandaman opened 2 years ago

frozenpandaman commented 2 years ago

Note

Hey @Philip-Sutton and @webbedspace,

I see there's been some recent work in updating the repo to convey that Twine 1 is unmaintained but open to bugfixes. Why is the Windows version at 1.4.3 but macOS still on 1.4.2? I'd be open to working on some of these (actually made a fork many years ago and then dropped it) but I'm on Mac and not exactly sure why there are two different platform-dependent installers based on the same codebase. Is the codebase actually at 1.4.3 and the Mac installer/release has just never been updated? And is there anything preventing the project from moving from Python 2 to 3?

Thanks!

Philip-Sutton commented 2 years ago

@frozenpandaman Work on bug fixes has stopped too.

Yep, the codebase is currently 1.4.3 and the Mac installer/release has never been updated.

We have a windows installer for Twine 1.4.3 because I know how to make windows installers. So far no-one has been able to make a MacOS installer for 1.4.3 so that challenge is open to anyone who can do it! :)

I would imagine that there is nothing stopping the migration of Twine 1 to Python 3 - it would just need someone to do it! I'm guessing that that would be best as a fork of the whole project though?

frozenpandaman commented 2 years ago

Thanks @Philip-Sutton! Making a distributable .app for Mac shouldn't be too hard – unfortunately I'm on an Apple M1 machine (ARM64 architecture) and even with Python 2.7 installed I'm unable to install Pillow (older versions only support Intel architecture) which is a requirement for wxPython, so I can't provide this. :(

I am working currently on updating the codebase to use Python 3 – which also involves updating some app icons to use retina versions, etc. (there's no chance that larger/original versions of these are available, right?) but I've removed some Windows-specific stuff and added a couple other features to my own liking, too, so I agree a fork is best, especially since Twine 1 is no longer officially maintained. :)

In updating/porting the code though I have been surprised by some changes I've had to make… e.g. SetText() doesn't seem to be a method of wx.MenuItem objects and all instances need to be changed to SetItemLabel(). I guess this is because wxPython/wxWidgets has undergone some changes in the past few years, and stuff has had to be updated? Seems weird that they'd so easily break backwards compatibility like that in non-major updates, though!

Philip-Sutton commented 2 years ago

@frozenpandaman - there's no chance that larger/original versions of these are available, right? I'm afraid I'm out of my depth on this! I'm not a programmer - just a user who's learned a few bits and pieces along the way. Chris Klimas more than likely can answer your question since he works on macOS machines.