Author Topic: MacTorrent - BitTorrent for Mac OS 9  (Read 25781 times)

Offline Knezzen

  • Administrator
  • Platinum Member
  • *****
  • Posts: 975
  • Pro Tools Addict!
    • Macintosh Garden
MacTorrent - BitTorrent for Mac OS 9
« on: October 22, 2016, 02:58:28 PM »
    So I actually have a few coding projects im working on from time to time for Mac OS 9.

    The one I want to share with you is the BitTorrent client I'm working on.
    It's called MacTorrent and is based on a REALbasic torrent client called Torrantula.
    It has been reworked to work with Mac OS 9 and is getting faster and more stable as time goes by.

    I want to share this screenshot before I release it to the public. It still has some things to work out before I'm confident enough with it to make a first public release.

    So, what do you guys think? I hope it might be to use for someone at least :)



UPDATE 2016-12-25
MacTorrent 0.2.0 is here! The first broad public release and the first release to include the source code. :)


Changes from the last public version:

  • Added a general speed indicator to replace the resource hogging induvidual peer speeds-
  • Added an application icon
  • General "under the hood" speed tweaks
  • Added a save panel that lets you decide where you want your downloading files to be saved

There's still flicker in the listbox, but it's probably being sorted in the next release.
Will be focusing on adding DHT and Magnet link support now, which would make MacTorrent "on par" with modern BitTorrent clients.

MacTorrent is now hosted by SourceForge, so all future releases (and the current one) will be found here:

https://sourceforge.net/projects/mactorrent/




UPDATE 2016-12-04

Rushing out another release before the work week starts again.
We're att version 0.1.8 now and a few things has been sorted out.

Changes from the last public version:

  • Added a percent counter to the progress bar and cleaned up the GUI
  • Removed the "speed" column from the peers list
  • Sorted out the resource hogs under the hood!

What's still not working:
  • Continue downloading after restarting the client (SHA1 hashing fails for some reason)
  • Speed is not shown (because I'm redoing the way the list works fundamentaly)
  • Icons in the file list are drawn "ugly" for some reason.
  • General flicker in the listbox that shows peers and their IP's, ports etc

The biggest thing that's changed in this release is that the resource usage is WAAAY lower than in 0.1.7 and earlier.
We are now using around 20% CPU when downloading two torrents compared to 60-80% in the previous releases.
This is with the peer list visible.

Hope you enjoy MacTorrent as much as I love working on it ;).
Just wishing for some more feedback, but I know that the user base is a bit limited.



UPDATE 2016-12-03
Just compiled version 0.1.7 for all of you to test.

Changes from the last public version:

  • The GUI is now made with Mac OS native objects
  • Removed log function (it ate up RAM until the client crashed)
  • Remove bloated and "bad" code in general
  • Removed the torrent pieces progress bar and added a regular progress bar
  • Added an "about" window
  • Added version and build date info to the "about" window"
  • Implemented working resizing of the window
  • Now works in the resolution 640x480 as the lowest

There are probably some more things that I have done but forgot about. Uses around 10% CPU on my 1.67ghz G4 when downloading two torrents. You need to choose the "Downloading" or "Seeding" menu item in the torrent list to get it using low resources like this. This is because of some truly terrible list redrawing code that uses around 60% CPU on it's own. This is what's left to fix before I start to add some more features.

What's not working:
  • Continue downloading after restarting the client (SHA1 hashing fails for some reason)
  • Speed is not shown (because I'm redoing the way the list works fundamentaly)
  • Icons in the file list are drawn "ugly" for some reason.
  • General flicker in the listbox that shows peers and their IP's, ports etc
[/list]
« Last Edit: December 25, 2016, 07:11:16 AM by Knezzen »
Pro Tools addict and admin at Macintosh Garden, Mac OS 9 Lives! and System 7 Today

Offline devils_advisor

  • Platinum Member
  • *****
  • Posts: 752
Re: A little something I'm working on
« Reply #1 on: October 22, 2016, 03:48:27 PM »
wow thats a cool addition. didnt know you can program

Offline MacOS Plus

  • Gold Member
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: A little something I'm working on
« Reply #2 on: October 22, 2016, 05:09:25 PM »
  I'd probably use it, now that Vuze updates are having issues with the outdated Java in OSX 10.5 PPC.  I'm also currently running Flud client on my Android phone, just for kicks.

  The most important feature for me would be that it's not a resource hog.  Keep it as simple and fast as possible.

Offline geforceg4

  • Platinum Member
  • *****
  • Posts: 535
  • i did my time on mac os 9
Re: A little something I'm working on
« Reply #3 on: October 22, 2016, 07:01:57 PM »
that kicks ass knezzen!  8)

Offline Mat

  • Platinum Member
  • *****
  • Posts: 644
Re: A little something I'm working on
« Reply #4 on: October 22, 2016, 08:03:09 PM »
Thats a missing link, if you get it to a state where it can be released, and works well. I had so many problems using the Bittorrent "Client" under Mac OS 9, as it is so commandline-style, ... so I never used it, except I really had to. If your one would work with all the torrents outside in a "Mac way" you´d be definitely my hero of the week, if not of the month! ;)

Offline MacTron

  • Global Moderator
  • Platinum Member
  • *****
  • Posts: 2116
  • keep it simple
Re: A little something I'm working on
« Reply #5 on: October 23, 2016, 07:25:44 AM »
Wow Knezzen! really great!
Awesome. I' wish to be a beta tester  ;D
Please don't PM about things that are not private.

Offline Knezzen

  • Administrator
  • Platinum Member
  • *****
  • Posts: 975
  • Pro Tools Addict!
    • Macintosh Garden
Re: A little something I'm working on
« Reply #6 on: October 23, 2016, 10:30:40 AM »
Thanks for the kind words guys! Right now I'm backporting it from REALbasic 2007r3, which is the last version able to compile Mac OS 9 executable carbon binaries, to REALbasic 5.5.5, which is the last version to run on Mac OS 9. Im hoping to gain some speed and resources with a "native" Mac OS 9 binary instead of the pretty unoptimized "carbonized" version it is right now.

I will of course compile Mac OS X versions as well, but the focus is on Mac OS 9.

I will be needing some beta testers as soon as the backporting is done :)
Pro Tools addict and admin at Macintosh Garden, Mac OS 9 Lives! and System 7 Today

Offline geforceg4

  • Platinum Member
  • *****
  • Posts: 535
  • i did my time on mac os 9
Re: A little something I'm working on
« Reply #7 on: October 23, 2016, 10:37:20 AM »
are u using Code Warrior 5?>

Offline Knezzen

  • Administrator
  • Platinum Member
  • *****
  • Posts: 975
  • Pro Tools Addict!
    • Macintosh Garden
Re: A little something I'm working on
« Reply #8 on: October 23, 2016, 10:37:59 AM »
are u using Code Warrior 5?>

No. Realbasic.
Pro Tools addict and admin at Macintosh Garden, Mac OS 9 Lives! and System 7 Today


Offline Knezzen

  • Administrator
  • Platinum Member
  • *****
  • Posts: 975
  • Pro Tools Addict!
    • Macintosh Garden
Re: A little something I'm working on
« Reply #10 on: October 23, 2016, 11:29:54 AM »
ok i was not aware of this package.

Now you are ;). It's very similliar to Visual Basic on Windows, so if one knows Visual Basic it's very easy to use Realbasic :)
Pro Tools addict and admin at Macintosh Garden, Mac OS 9 Lives! and System 7 Today

Offline Knezzen

  • Administrator
  • Platinum Member
  • *****
  • Posts: 975
  • Pro Tools Addict!
    • Macintosh Garden
Re: A little something I'm working on
« Reply #11 on: October 29, 2016, 05:05:26 AM »
The backporting is done! Now I need some volunteers for the closed alpha/beta release. What I need some help with is trying it with various torrent sites and trackers. I want to know of any stability issues and issues in general.

It doesn't have support for magnetic links yet, but as soon as it's stable and fast enough it's next on my "to do" list.
Pro Tools addict and admin at Macintosh Garden, Mac OS 9 Lives! and System 7 Today

Offline MacOS Plus

  • Gold Member
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: A little something I'm working on
« Reply #12 on: October 29, 2016, 09:42:40 AM »
  What level of CPU speed would you be targeting?  How far back in OS versions might this program still work?

Offline Knezzen

  • Administrator
  • Platinum Member
  • *****
  • Posts: 975
  • Pro Tools Addict!
    • Macintosh Garden
Re: A little something I'm working on
« Reply #13 on: October 29, 2016, 11:27:09 AM »
  What level of CPU speed would you be targeting?  How far back in OS versions might this program still work?

I'm targeting whatever seems to be feasable. The binary should work with 9.0, but it will work with 9.2.2. Older than 9.0 I have no idea, so feel free to try so we can get some real life system requirements worked out.

There is no real CPU limit either, but it uses around 30-50% CPU on my 1ghz TiBook when downloading one torrent. I think this is due to some crappy que managing and will be fixed as soon as all the basic stuff works like it should. RAM usage is around 20mb when downloading, so that's not that bad at least.

I would say that minimum requirements would be something like this:
  • 400mhz G4
  • 32mb free RAM
  • Mac OS 9.0 - 9.2.2, or Mac OS X 10.3.x - 10.5.x

But I would love to get this verified in real the real world.
Pro Tools addict and admin at Macintosh Garden, Mac OS 9 Lives! and System 7 Today

Offline Protools5LEGuy

  • Global Moderator
  • Platinum Member
  • *****
  • Posts: 2749
Re: A little something I'm working on
« Reply #14 on: October 29, 2016, 05:41:21 PM »

It's called MacTorrent and is based on a REALbasic torrent client called Torrantula.
It has been reworked to work with Mac OS 9 and is getting faster and more stable as time goes by.

Right now I'm backporting it from REALbasic 2007r3, which is the last version able to compile Mac OS 9 executable carbon binaries, to REALbasic 5.5.5, which is the last version to run on Mac OS 9. Im hoping to gain some speed and resources with a "native" Mac OS 9 binary instead of the pretty unoptimized "carbonized" version it is right now.


What troubles did you find reworking it for Mac OS 9 ? It should benefit future RealBASIC Mac OS 9 port projects  to know about the limits in both 2007r3 and 5.5.5

Where did you find Torrantula? Maybe another user is wishing to port more RealBASIC "little things"  ;D

What route would you have for torrents > 2Gb? For example, a DVD

I've read somewhere about a 2Gb. limit of size of a single file.
« Last Edit: October 29, 2016, 06:53:34 PM by Protools5LEGuy »
Looking for MacOS 9.2.4

Offline IIO

  • Platinum Member
  • *****
  • Posts: 4439
  • just a number
Re: A little something I'm working on
« Reply #15 on: October 29, 2016, 06:36:14 PM »
HFS 2 gb
HFS+ 2000 gb
insert arbitrary signature here

Offline Protools5LEGuy

  • Global Moderator
  • Platinum Member
  • *****
  • Posts: 2749
Re: A little something I'm working on
« Reply #16 on: October 29, 2016, 06:54:09 PM »
Thanks for the reminder!
Looking for MacOS 9.2.4

Offline Knezzen

  • Administrator
  • Platinum Member
  • *****
  • Posts: 975
  • Pro Tools Addict!
    • Macintosh Garden
Re: A little something I'm working on
« Reply #17 on: October 30, 2016, 11:41:11 AM »
What troubles did you find reworking it for Mac OS 9 ? It should benefit future RealBASIC Mac OS 9 port projects  to know about the limits in both 2007r3 and 5.5.5

Nothing really. Some stuff doesn't exist in 5.5.5 but nothing really major.
The current release is built with 2006R1 since it's capable of building Mac OS 9 native binaries without modifying the code much.

Quote
Where did you find Torrantula? Maybe another user is wishing to port more RealBASIC "little things"  ;D

Can't remember how right now, but I Googled "realbasic bittorrent client" or something like that.

Quote
What route would you have for torrents > 2Gb? For example, a DVD
I've read somewhere about a 2Gb. limit of size of a single file.


What IIO said. It's a filesystem size cap, nothing to do with the client as such.



Im adding a screenshot taken moments ago. There's really no problem downloading a torrent and at the same time browse the web or do some work in Photoshop. So I think im satisfied with the speed for now.
Pro Tools addict and admin at Macintosh Garden, Mac OS 9 Lives! and System 7 Today

Offline Knezzen

  • Administrator
  • Platinum Member
  • *****
  • Posts: 975
  • Pro Tools Addict!
    • Macintosh Garden
Re: A little something I'm working on
« Reply #18 on: November 06, 2016, 11:20:54 AM »
I have decided to put out MacTorrent as a public alpha so I can get more testers. Theres no pressure to write something, but if any of you decide to give it a shot, please write a few lines about your experience if you have some time.

Please ignore the nag screen when starting. Im using a demo of a icon library, hence the nagging ;). Will register it as soon as I feel like MacTorrent is good enough for regular usage.

Some known issues:
  • Text in the GUI flickers when updating, will be fixed ASAP
  • Theres no way to decide which directory your files will be downloaded to
If you open a local torrent file, the files downloaded through the torrent file will be put in the same directory as the file is located. If you open a torrent file from an URL directly, the files will be put in the same directory as the MacTorrent executable.

  • Theres no support for DHT or Magnet links (yet)
If you need to download something that only has a magnet link avaliable, use one of the many magnet to .torrent converters found on the web.[/b]


I haven't really given the memory settings a real test, so if you run out of memory please modify the memory settings (CTRL+click --> Get Info --> Memory, change "Preferred Size").

I think that's all for now. And please don't redistribute this .sit file, it's not the finished product. There will be a website with screenshots etc when I feel like it's useable :)

I need help making a suitable icon!
« Last Edit: December 03, 2016, 01:38:38 PM by Knezzen »
Pro Tools addict and admin at Macintosh Garden, Mac OS 9 Lives! and System 7 Today

Offline Mat

  • Platinum Member
  • *****
  • Posts: 644
Re: A little something I'm working on
« Reply #19 on: November 06, 2016, 12:55:28 PM »
Wow!

First Reports are coming in! ;)

It is a well working Bittorrent client! The first one for Mac OS 9. And it is damn fast! I am stunned.
Here is a unsorted list of things that I recognised:

• The different tabs (peers, files, pieces, log) are somtimes not working correctly. Mainly the log is scrolling, and I have to switch from one tab back to the other  to see what should be displayed in  "peers" instead of the logs.

• "Progress values" are switching back and foreward, ... 5,1 MB, 4,8 MB, 5,9MB, ... that seems to stabilize after two minutes

• But that values are not correctly compared to what is downloaded in reality. All files I had, have been 3 times bigger than this progress values in the client are.

• the "knob" for resizing the window is over the button "inject peer" always on the right side, no matter how big the window is.

• nice would be a possibility to move the border between "downloading" and "main window space" to be able to see the enire names of the torrents, if someone likes to do so.

• missing is the functionality to "paste" from the menue or with the mouse. Recently only "Command v" works for pasting torrent urls.

• any "about dialouge" is missing

• when I klick at the menu bar, all downloading stops until I release it again, ... why?

• I do not understand "pice selection" what is it?

• I don´t understand the "markers" in the progress bar. It looks more than markers in ProTools then any progress. ;) They appeare in green everywhere. but without a bar, just a small stripe (about 20 to 30 of them). Perhaps a problem that updating doesn´t work like it should?

• Did I tell that it is damn fast? ;)

• I like the "classical" appeareance. Perhaps you could get rid of the "tabs" as well, and make it completely "Platinum like"? Or at least make the tabs also in Platnum look?