I7 and images for the nOOb

I discovered Inform7 last week and I have zero previous programming experience.
I downloaded Windows Glulxe

I found this code online which promises to be exactly what I want. Issue is when I insert it into Inform7 and press the GO button its chocked full of problems. What am I doing wrong? How do you write and test within Inform7 with images?
Sorry for the rookie question!

! SGW - a Simple Glulxe Wrapper
!===============================================================================!
! (by Alessandro Schillaci)
! WeB : slade.altervista.org
! @mail : silver.slade@tiscalinet.it
!
! Version 1.1 2005-07-04
!===============================================================================!
! WHAT IS THIS FOR ?
! ==================
! “sgw.h” (this file) is a simple and small glulxe wrapper, created for a novice
! inform programming level.
! With this library it’s possible to visualize an image or simply to play a sound
! (or a music) by using a small set of functions that wrap the glulx functions.
!
! It’s possible to convert a z-code adventure to a glulx adventure with
! multimedia support.
!
! You can use 3 audio channles:
! - music : for the music channel
! - chan1 : channel 1 for audio (sound effects)
! - chan2 : channel 2 for audio (sound effects)
!
!===============================================================================!
! HOW TO USE
! ==========
!
! Just follow these points:
!
! 1) Put in your main file the directive
! include “sgw.h”;
! before the Include “Parser”; directive
!
! 2) Use the initializeWrap() function in your initialize standard function.
!
! Example:
!
! initializeWrap(240);
!
! This will set the main graphic window to have an height=240 pixels but
! you can change this resolution as you like.
!
! 3) Now you can play a sound or visualize an image simply using
! these two functions: viewImage and playSound
!
! 4) You can customize colors settings, by create these Globals
! before you include the “sgw.h” library, to override them
!
! Constant SCBACK $110101;
! Constant SCTEXT $DDBB99;
! Constant SCSOFT $665544;
! Constant SCEMPH $FFFFDD;
! Constant SCHEAD $EEDDAA;
! Constant SCINPU $DDEEAA;
!
! You can use these new simple functions in your game, also :
!
! GRAPHIC FUNCTIONS
! =================
! clearMainWindow() = clears the main window
! closeAllWindows () = closes all graphic windows
! initializeWrap(w,h) = graphic window dimension is set to w=width h=height
! viewImage(image) = shows the “image” in the graphic window
!
!
! AUDIO FUNCTIONS
! ===============
! playSound(channel,sound,lenght,volume) = plays a sound/music
! silenceAll() = silences all audio channels
! silenceChannel(channel) = silences the audio “channel”
! setVolume(val, channel) = set “val” for volume of the channel
!

The actual code im using:

!===============================================================================!

message “Using the SGW 1.1 (Simple Glulxe Wrapper) library by Alessandro Schillaci”;

Global music = 0; ! Music Channel
Global chan1 = 0; ! Channel 1 sound effects
Global chan2 = 0; ! Channel 2 sound effects

Constant VOLUME_HIGH 5;
Constant VOLUME_NORMAL 3;
Constant VOLUME_LOW 2;

#IfDef TARGET_GLULX;
Global current_music = 0;
Global gg_VolumeSupport = false; ! Change Volume supported?
Global gg_statuswin;
Global gg_mainwin; ! Text window
Global gg_bigwin ; ! Image Location window
Global curr_pic;

Constant GG_MUSICCHAN_ROCK 410;
Constant GG_MUSICCHANSOUND1_ROCK 411;
Constant GG_MUSICCHANSOUND2_ROCK 412;
Constant GG_BIGWIN_ROCK 210; ! Image Location window

#Ifndef SCBACK;
Constant SCBACK $110101; ! Colors settings
#Endif;
#Ifndef SCTEXT;
Constant SCTEXT $DDBB99;
#Endif;
#Ifndef SCSOFT;
Constant SCSOFT $665544;
#Endif;
#Ifndef SCEMPH;
Constant SCEMPH $FFFFDD;
#Endif;
#Ifndef SCHEAD;
Constant SCHEAD $EEDDAA;
#Endif;
#Ifndef SCINPU;
Constant SCINPU $DDEEAA;
#Endif;
#Endif;

[ initializeSGW h;
#Ifdef TARGET_GLULX;
if (music == 0) {music = glk_schannel_create(GG_MUSICCHAN_ROCK); }
if (chan1 == 0) {chan1 = glk_schannel_create(GG_MUSICCHANSOUND1_ROCK); }
if (chan2 == 0) {chan2 = glk_schannel_create(GG_MUSICCHANSOUND2_ROCK); }
testGlulx(); ! Test about Interpreter’s performances
closeAllWindows(); ! Closing all window
silenceAll(); ! Silence all audio channels
inizializeGlulx(h); ! Inizialize the glulx system
#Endif;
];

! — Graphics functions -------------------------------------------------------------

! View an image on main graphic window
[ viewImage image;
#Ifdef TARGET_GLULX;
curr_pic = image;
if (gg_bigwin && glk_gestalt(gestalt_Graphics, 0)) {
glk_image_draw(gg_bigwin, curr_pic, 0, 0);
}
#Endif; ! TARGET_
];

! Clean the main window
[ clearMainWindow;
#Ifdef TARGET_GLULX;
glk_window_set_background_color(gg_mainwin,$00000000);
glk_window_clear(gg_mainwin);
glk_window_set_background_color(gg_bigwin,$00000000);
glk_window_clear(gg_bigwin);
#endif;
];

! Close all windows
[ closeAllWindows;
#Ifdef TARGET_GLULX;
if (gg_bigwin) {
glk_window_close(gg_bigwin,0);
gg_bigwin = 0;
}
#endif;
];

! Redraws an image
[ MyRedrawGraphicsWindows;
#Ifdef TARGET_GLULX;
if (gg_bigwin && glk_gestalt(gestalt_Graphics, 0)) {
glk_image_draw(gg_bigwin, curr_pic, 0, 0);
}
#endif;
];

! — Audio functions -------------------------------------------------------------

! Plays the sound “sound” for the channel “channel” , with “lenght” and “volume”
[ playSound channel sound lenght volume;
#Ifdef TARGET_GLULX;
if (channel) {
current_music = sound;
glk_schannel_stop(channel);
SetVolume(volume,channel);
glk_schannel_play_ext(channel, sound, lenght, 0);
}
#endif;
];

! Sileces all the audio channels
[ silenceAll;
#Ifdef TARGET_GLULX;
if (chan1) { glk_schannel_stop(chan1); }
if (chan2) { glk_schannel_stop(chan2); }
if (music) { glk_schannel_stop(music); }
#Endif;
];

! Silences the channel “channel”
[ silenceChannel channel;
#Ifdef TARGET_GLULX;
if (channel) {
glk_schannel_stop(channel);
}
#endif;
];

! Reset all audio channels
[ resetMusicChannel;
#Ifdef TARGET_GLULX;
glk_schannel_stop(music);
glk_schannel_stop(chan1);
glk_schannel_stop(chan2);
#endif;
];

! Set a volume for the channel
[ setVolume val chan;
#Ifdef TARGET_GLULX;
if (~~gg_VolumeSupport) return;
if (val > 0) glk_schannel_set_volume(chan, val * 16384);
#endif;
];

! — GLULX functions ------------------------------------------------------------- !

#Ifdef TARGET_GLULX;

[ HandleGlkEvent event ;
switch (event–>0) {
evtype_Redraw, evtype_Arrange : MyRedrawGraphicsWindows();
evtype_SoundNotify: glk_schannel_play_ext(music, current_music, 1, 1);
evtype_SoundNotify: glk_schannel_play_ext(music, , 1, 1);

	4:				! mouse
	1:				! timer
	5, 6:			! arrange/redraw
}

];

! Glk window initialization entry point.
[ InitGlkWindow winrock;
switch (winrock) {
GG_MAINWIN_ROCK:
glk_stylehint_set(wintype_AllTypes, style_Normal, stylehint_TextColor, SCTEXT);
glk_stylehint_set(wintype_AllTypes, style_Normal, stylehint_BackColor, SCBACK);
glk_stylehint_set(wintype_AllTypes, style_Normal, stylehint_Justification, stylehint_just_LeftRight);
glk_stylehint_set(wintype_AllTypes, style_Emphasized, stylehint_TextColor, SCEMPH);
glk_stylehint_set(wintype_AllTypes, style_Emphasized, stylehint_BackColor, SCBACK);
glk_stylehint_set(wintype_AllTypes, style_Header, stylehint_TextColor, SCEMPH);
glk_stylehint_set(wintype_AllTypes, style_Header, stylehint_BackColor, SCBACK);
glk_stylehint_set(wintype_AllTypes, style_Subheader, stylehint_TextColor, SCHEAD);
glk_stylehint_set(wintype_AllTypes, style_Subheader, stylehint_BackColor, SCBACK);
glk_stylehint_set(wintype_AllTypes, style_Alert, stylehint_TextColor, SCBACK);
glk_stylehint_set(wintype_AllTypes, style_Alert, stylehint_BackColor, SCTEXT);
glk_stylehint_set(wintype_AllTypes, style_Note, stylehint_TextColor, SCINPU);
glk_stylehint_set(wintype_AllTypes, style_Note, stylehint_BackColor, SCBACK);
glk_stylehint_set(wintype_AllTypes, style_Blockquote, stylehint_TextColor, SCINPU);
glk_stylehint_set(wintype_AllTypes, style_Blockquote, stylehint_BackColor, SCBACK);
glk_stylehint_set(wintype_AllTypes, style_Input, stylehint_TextColor, SCINPU);
glk_stylehint_set(wintype_AllTypes, style_Input, stylehint_BackColor, SCBACK);
glk_stylehint_set(wintype_AllTypes, style_Preformatted, stylehint_TextColor, SCINPU);
glk_stylehint_set(wintype_AllTypes, style_Preformatted, stylehint_BackColor, SCBACK);
glk_stylehint_set(wintype_AllTypes, style_User1, stylehint_TextColor, SCSOFT);
glk_stylehint_set(wintype_AllTypes, style_User1, stylehint_BackColor, SCBACK);
}
rfalse;
];

! Glk object identification entry point.
[ IdentifyGlkObject phase type ref rock id;

switch (phase) {
0:	! start
	gg_bigwin			= 0;
	gg_statuswin			= 0;
	music				= 0;
	chan1				= 0;
	chan2				= 0;
	return;
1:	! pass ref
	switch (type) {
	0:	! window ref
		switch (rock) {
			GG_BIGWIN_ROCK	:	gg_bigwin	= ref;
		}
	}
	return;
2:  ! Update objects
     id = glk_schannel_iterate(0, gg_arguments);
     while (id) {
        switch (gg_arguments-->0) {
           GG_MUSICCHAN_ROCK		: music	= id;
           GG_MUSICCHANSOUND1_ROCK	: chan1	= id;
           GG_MUSICCHANSOUND2_ROCK	: chan2	= id;
       }
       id = glk_schannel_iterate(id, gg_arguments);
     }
     ResetMusicChannel(); 
     MyRedrawGraphicsWindows();        
     return;
}
return;	

];

! Test the Glulx Interpreter’s performances
[ testGlulx;
if (~~glk_gestalt(gestalt_Graphics, 0)) {
print “^[This Interpreter doesn’t support graphics.]^”;
}

if (~~glk_gestalt(gestalt_Sound, 0)){
	print "^[This Interpreter doesn't support audio files.]^^";		
}	

if (~~glk_gestalt(gestalt_SoundVolume, 0)){
	print "^[This Interpreter doesn't support audio volume.]^";
}

];

! Glulx Inizialize function
[ inizializeGlulx h;

! Graphics
if (gg_statuswin == 0) {
	gg_statuswin = glk_window_open(gg_mainwin,(winmethod_Above+winmethod_Fixed), 2, wintype_TextGrid, GG_BIGWIN_ROCK);
}

if (gg_bigwin == 0) {
	gg_bigwin = glk_window_open(gg_mainwin,(winmethod_Above+winmethod_Fixed), h , wintype_Graphics, GG_BIGWIN_ROCK);
}

! Set black as background colour for all windows
glk_window_set_background_color(gg_bigwin,$00000000);
glk_window_clear(gg_bigwin);
glk_window_set_background_color(gg_mainwin,$00000000);
glk_window_clear(gg_mainwin);

];

#Endif;

You’re looking at Inform 6 code there, not Inform 7.

Look through the multimedia extensions at inform7.com/extensions/typography/ .