26

Re: 1tracker v0.47

Ah yes, of course. I remember having to modify the .bmp, just could't figure out how anymore. So thanks for the reminder.

27

Re: 1tracker v0.47

With a lot of fiddeling, I finally got 1tracker 0.23 to run on Linux.

Steps to take:

1. Replace makefile and main.cpp with the ones attached
2. In angelscript_jit/as_jit.cpp, replace all occurances of "../source" with "../angelscript/source"
3. Delete contents of angelscript/lib
4. Get http://www.angelcode.com/angelscript/sd … 2.31.0.zip , unpack, copy folder angelscript/projects to angelscript folder in 1tracker source
5. make in 1tracker_src/angelscript/projects/gnuc
6. make in 1tracker_src
7. copy contents of angelscript/lib to your system library directory (usually /lib)
8. copy 1tracker binary to 1tracker folder

Yeah, it's pretty akward and I don't understand half of what's going on. Also, the filebrowser is kinda broken, it can't leave the 1tracker folder. But at least it runs.

Post's attachments

main.cpp 21.27 kb, file has never been downloaded. 

makefile 4.01 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

Re: 1tracker v0.47

Well, you beat me to it by a year, but I updated my patch for 1tracker 0.23.

Re: 1tracker v0.47

I have the same issue with the filebrowser, but it's usable. Also, playback works a lot better for me in this version.

30

Re: 1tracker v0.47

Hehe, better late then never eh? big_smile
Dunno why, but 0.23 also overall feels faster/less jerky for me. And still super happy about the added sequence navigation.

Re: 1tracker v0.47

1tracker got an update. No new engines this time, sorry. Instead, I tried another improvement to the 'single pattern' concept, that is called 'chopped view'. When it is enabled through the new alternative menu (hold Ctrl to see it), only current block is displayed starting from the top of the screen, like a separate pattern. I hope that obstructing visibility of other blocks should help to focus attention on current block, and make it more comfortable to work in case of short blocks (less scrolling). If you split your song into blocks of 16 or 32 lines, it will work similar to the traditional pattern/order list view in a way.

Linux users, please let me know what changes this version needs in order to compile it. Hopefully less changes will be needed this time. I also just noticed that dirent.h had a wrong include path, docs say it should be there, so file dialogs should work properly.

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

32

Re: 1tracker v0.47

Great! Not that I'll be using the "chopped view" much, but it's always good to see ongoing development.
Alright, managed to compile it. The following changes were necessary:

makefile:1 CPPFLAGS=-I./angelscript -I./angelscript/include -I./angelscript_jit -I/usr/include/SDL -I/usr/include -std=c++11 -fpermissive -static
makefile:72 gme/Spc_Filter.o: gme/Spc_Filter.cpp
main.cpp:10 #include <dirent.h>
main.cpp:18 //remove
main.cpp:1200 mkdir(backupDirectory) -> mkdir(backupDirectory, S_IRWXU);

As usual, angelscript/lib needs to be rebuild and put into system lib directory. Used version 2.31.2, seems to work fine.

A couple of bugs:
internal filebrowser can only access files/directories inside the exec dir
pattern display will blank when using chopped view and current row < 24

33 (edited by Shiru 2017-06-13 18:51:31)

Re: 1tracker v0.47

What does the filebrowser show at the bottom of the screen, where full current path is supposed to be displayed? Is the directories above executable actually seen there? I don't know much of Linux, maybe some permissions/security stuff is involved?

The second bug is very weird, definitely don't have anything like that here. Will think over it. Maybe I need to setup a virtual machine and see it by myself, after all.

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

34

Re: 1tracker v0.47

Filebrowser shows "./". Permissions shouldn't be an issue, at least not up to the user's home directory.

I'll do a bit of hunting for the editor bug as well. For now I found some suspicious looking code in song_editor.h:493

if(curSelectionWidth=module.columns)

Is that what you intended?

35

Re: 1tracker v0.47

Removing gui.h:246 solves the display issue. Not sure if it breaks something else though.

Re: 1tracker v0.47

The first = is a bug, I normally don't use such unsafe constructions (apart from a piece related to dirent code).

Yes, I think it going to work if the line will be disabled in the chopped view. I'm trying to compile it under Linux at the moment, to look into directory navigation issue. Not sure if I'll be able to fix that part, but will put an updated version soon anyway, with the display fix at least.

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

37 (edited by Shiru 2017-06-14 00:58:07)

Re: 1tracker v0.47

So, tried to mess up with Ubuntu under VirtualBox, and got really weird results. Here is WIP source for 0.25: http://shiru.untergrund.net/temp1/1tracker_src.zip

I tried to reogranize files to simplify build process. Just 'make' it, and it should be enough (I only had to also 'sudo apt-get install libsdl-dev').

Weirdities:

- The program does not start if JIT is enabled in the config file (closes window right away)
- The program works without JIT, but produces no sound and occasionally reports missing data
- File dialog allows me to browse everywhere, just like under Windows. No changes has been made to the code

Please take a look, is the behaviour the same on your system?

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

38

Re: 1tracker v0.47

Compiles fine, and runs with JIT. Did you rebuild angelscript/lib by using the makefile in angelscript/projects/gnuc and sudo cp the resulting 3 files to your /lib system dir (or perhaps usr/local/lib under Ubuntu)?

File browser still doesn't traverse higher directories for me. The thing is that you cannot rely on the value of argv[0] under Linux. It might be a relative path to the exe, an absolute path, or something completely different. Under Debian, it's relative - if I start 1tracker from a higher directory with "./subdir/1tracker/1tracker", then I can traverse directories up to the level from where I started. The recommended, although by no means failsafe way on Linux is to read the process ID in /proc and derive the path from that. It's very messy though. I'd say for now just ignore the issue, and maybe later think about migrating to SDL2, which offers SDL_GetBasePath() for this purpose.

The fix for the display issue doesn't work, still blanks out when row < 24. What exactly is this construct supposed to do?

Btw it's a good idea to add a "clean" target to the makefile, like so:

.PHONY: clean
clean:
    rm *.o gme/*.o angelscript/angelscript_jit/*.o angelscript/scriptarray/*.o angelscript/scriptbuilder/*.o \
    angelscript/scriptstdstring/*.o angelscript/source/*.o

39 (edited by Shiru 2017-06-14 10:11:26)

Re: 1tracker v0.47

No, the idea of the changes in file structure and makefile was to compile and link AngelScript as part of the program, directly through object files, not as a lib.

Migrating to SDL2 is actually a good idea, I had a few SDL2 projects done, so will put it to plans. It just happened that the program does not really needed things that SDL2 has to offer, so I kept it plain SDL so far.

The display issue is really weird, as I don't have it neither under Windows nor under Linux. The construct is for normal view, it aligns the scrolling for blocks properly. My only guess is that it is some unitialized variable or getting out of bounds, althogh considering proper results in two very different environments, I'd expect the issue to be more exposed. Also, row < 24 means it is somehwere in the scrolling logic, as it is half of the pattern view height, the position to keep cursor line once scrolling starts. I'll think more about it.

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

40

Re: 1tracker v0.47

Then the JIT is probably not aware of that, and is still looking for the lib in the system directories. Not sure how to change that.

Yes, row 24 is the one where the pattern stops scrolling and the cursor will start to move upwards on key_up.

Re: 1tracker v0.47

I have a very large window open. Resolution 1024x768 is not supported?

Re: 1tracker v0.47

The window can be of any resolution.It is kind of a pseudo text mode, customizeable through the config file (width and height in text characters), and the font.bmp. Smaller font graphics, smaller window; different aspect ratio of the characters also takes effect. The defaults is done for 1920x1080.

Actually, I probably should add a few fonts and selection through the config file, for better convinience.

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

Re: 1tracker v0.47

v0.25 is out of WIP. Now powered with SDL2, which supposedly solves some issues. For one, it now switches to the fullscreen and back blazing fast under Windows, unlike the old version. It also brings separate files for fonts (which is now 1-bit) and color schemes, and a pile of the font and color scheme files to look pretty and provide flexibility regarding screen sizes. It seemignly compiles fine under Ubuntu without editing the code, just by 'make' command (given SDL2 installed, not sure about AngelScrpit). I accidentally Pytha engine, too.

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

Re: 1tracker v0.47

v0.26 is up. Much faster Z80 assembler (in AngelScript), still not as fast as any native would be, but work gets more comfortable. Many minor fixes as well.

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

Re: 1tracker v0.47

Thanks Shiru.

Just tested on my laptop running Windows 10, runs fine.

smile

46

Re: 1tracker v0.47

That's great news, thanks a lot Shiru!
I've just returned from a very tiring weekend trip, will check out all the goodies tomorrow.

Re: 1tracker v0.47

Reverse enginereed and added the other Lyndon Sharp's engine, from Bubble Dizzy. Also reworked support for the first one, renamed it to lyndon89.1te (if you have modules made with the old version, just edit the module text, replace engine name there).

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

48

Re: 1tracker v0.47

Holy crap, 0.26 is awesome! Compiles out of the box, runs very smoothly, great fonts, and of course big thanks for adding Pytha. Only thing I need to do now is adding a black colour scheme for myself wink

Btw I added -O2 to CXXFLAGS. This reduces binary size by about 700 Kb and should make things run slightly faster. Didn't notice the difference though, as usage is already so much smoother than before.

49 (edited by garvalf 2017-06-20 14:43:12)

Re: 1tracker v0.47

it sounds interesting, and the compilation is flawless on my Linux Mint (18) PC, using g++ 4.8, but I can't start the generated binary:

./1tracker 
Error: Can't load font '

I already have libsdl-ttf2.0-0 installed.

edit: I got it, the source package is missing the resources provided by the other archive, which I've copied. However, I still have an error, now it's:

./1tracker 
terminate called after throwing an instance of 'int'
Abandon

Re: 1tracker v0.47

Tracker does not use any TTF fonts, only raster ones. Yes, resources is not included into the source archive, sorry. Will change it later.

The second error is weird. Looks like something related to AngelScript internals.

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)