Forum Replies Created
-
AuthorPosts
-
that’s a sad looking monkey
Second look.
As you move around the browser any image or sound files will automatically load and be displayed.
Sounds can then be directly played from the keyboard. This is the exact concept Wave2 used and allows for instant preview of audio files in eluding very big files (many megs).
You can see in the small screen shot that stereo samples are shown as stereo, and mono (well as mono)
Attachments:
And some with the pink circle added

diamond

more abstract

and further abstracted

OK.
Lets assume that the logo could be on any color background.
So… Lets keep the logo white – which can be coloured as needed by using Color.
This also means it can be used mono on headers, paper, etc in black
Lets also assume that there should be a good minimum size for more small windows that will also scale well and look good on larger windows.
lets assume that 640×480 would be a good minimum
So, the logo should be small than that but not too much and in white (only) for better detail.
Next up we want to use a font that is good. So how about a classic gill sans?

Here shown full size png that can be coloured on white so it looks black, etc
It solves the blur test (screw up your eyes and defocus). can you still make out the logo and main words?
It’s got the original logo with the swirled tail
It’s clean with no separation of monkey and 2
Feel free to criticise
Mark, heres a thought…
If you are going to make some changes to support dylibs. would it be possible to support dylib creation within monkey2?
That way, we could compile and recompile the openal dylib directly and also possibly sort out future stuff like effects?
Brilliant
:}
just so you know. the sample used was just picked by random. all other samples exhibit the same issues. also the same when creating sounds from imported AudioData too
Monkey1234If Keyboard.KeyDown( Key.Escape )App.Terminate()EndI am using loaded audio, not generated.
mono, 16 bit
Here’s a demo app showing exactly what is going on…
???? Checked and confirmed in mojo.MouseDevice
tried setting it by using:
Monkey1234Mouse.Cursor = MouseCursor.NoMouse.Cursor = MouseCursor.Arrowand it worked!
mmmm, not sure about the cursor and mobile thing. in ‘general’ mobile stuff does not use cursors. Cursors are a desktop thing.
the default cursor IS an Arrow. You are assuming that is ‘could’ be something else. It won’t. it WILL be an arrow. Unless already set by something and not put back to an arrow <- in which case it’s an error and the Arrow should be used.
A control may have different cursors, but the default will always be an arrow. it is up to you to decide, but it should always be set back to an Arrow.
But… There can be issues with controls not setting the cursor back to the default arrow, and thus affecting the required use in other controls. hence using Arrow as the default.
The reason I used ‘proper’ as the use for the class is you are not really using the class. you are using just functions and some globals. you can remove the class entirely and it still functions. So. in this case it is not really a class.
Also you are using globals inside a class, thus breaking the reason for using oop in the first place.
in essence you’ve just got a bunch of functions and some globals wrapped up in a class that doesn’t need them. so either write the code to use a class or don’t use a class at all.
to quote you:
- System cursor is a global thing, so we can manege it the sane way – via global functions. In your case we must create instance or instances.
if it is global and accessed by functions then it is functional programming NOT a class. you don’t need a class and are just adding unneeded code.
You really then just update the functions names with something like:
function CursorStore(
function CursorRestore(
etc
I’m not sure about the following statement:
Separated global consts bring some noise in autocompletion
doesn’t that suggest the possibility that there might be something off with the autocomplete in its operation? I don’t know about that as I don’t use it. But if you need to program something (in a very particular way) to avoid it doing something… possibly?
But as I said, brilliant work, either way
Brilliant work.
Here’s a proper class version of the above for you as well:
Monkey12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182'for dealing with the cursor we need sdlUsing sdl2..Enum KindArrow, Beam, Wait, WaitArrow, Hand, No, CrossHair,SizeNWSE, SizeNESW, SizeWE, SizeNS, SizeAllEndconst CURSOR_ARROW:Kind = Kind.Arrowconst CURSOR_BEAM:Kind = Kind.Beamconst CURSOR_WAIT:Kind = Kind.Waitconst CURSOR_WAITARROW:Kind = Kind.WaitArrowconst CURSOR_HAND:Kind = Kind.Handconst CURSOR_NO:Kind = Kind.Noconst CURSOR_CROSSHAIR:Kind = Kind.CrossHairconst CURSOR_SIZENWSE:Kind = Kind.SizeNWSEconst CURSOR_SIZENESW:Kind = Kind.SizeNESWconst CURSOR_SIZEWE:Kind = Kind.SizeWEconst CURSOR_SIZENS:Kind = Kind.SizeNSconst CURSOR_SIZEEW:Kind = Kind.SizeWEconst CURSOR_SIZESN:Kind = Kind.SizeNSconst CURSOR_SIZEALL:Kind = Kind.SizeAllClass SystemCursormethod New()_cursors = New Map<Kind, SDL_Cursor Ptr>End methodmethod Set( cursor:Kind )Local c:SDL_Cursor ptr = _cursors[cursor]If Not c thenc = Create( cursor )_cursors[cursor] = cEndSDL_SetCursor( c )End methodmethod Restore()Set( CURSOR_ARROW )EndPrivatefield _cursors:Map<Kind, SDL_Cursor Ptr>method Create:SDL_Cursor Ptr( cursor:Kind )Local cur:SDL_SystemCursorSelect cursorCase Kind.Arrowcur = SDL_SYSTEM_CURSOR_ARROWCase Kind.Beamcur = SDL_SYSTEM_CURSOR_IBEAMCase Kind.Waitcur = SDL_SYSTEM_CURSOR_WAITCase Kind.CrossHaircur = SDL_SYSTEM_CURSOR_CROSSHAIRCase Kind.WaitArrowcur = SDL_SYSTEM_CURSOR_WAITARROWCase Kind.Nocur = SDL_SYSTEM_CURSOR_NOCase Kind.Handcur = SDL_SYSTEM_CURSOR_HANDCase Kind.SizeNWSEcur = SDL_SYSTEM_CURSOR_SIZENWSECase Kind.SizeNESWcur = SDL_SYSTEM_CURSOR_SIZENESWCase Kind.SizeWEcur = SDL_SYSTEM_CURSOR_SIZEWECase Kind.SizeNScur = SDL_SYSTEM_CURSOR_SIZENSCase Kind.SizeAllcur = SDL_SYSTEM_CURSOR_SIZEALLEnd SelectReturn SDL_CreateSystemCursor( cur )End methodEndand to use:
Monkey1234567891011field _cursor:SystemCursor = New SystemCursor'depends on how your app is set up for the mouse commandsmethod OnMouseEnter() Override_cursor.Set( CURSOR_NO )End methodmethod OnMouseLeave() Override_cursor.Restore()End methodI’ve been reverse engineering the old Roland s50 sample disk format. I think I’ve got the data now, just need to convert it from 12 bit!
The first thing will be to move as much of wave2 from BlitzMax over to monkey2.
|The one thing wave2 had was instant playback of samples from the file browser – any sound it could handle was instantly available. so you could preview sounds as fast as you could move through the file browser.
So I will need to bring all the sound loader code.
Then I will add the 3d functions to it along with the image previews
thanks guys. all of this is really good information to know
-
AuthorPosts
