[Windows Mobile Development and Hacking General] imfloflo:
<Children>
<Object Type="Behavior">
<Property Type="String" Name="Name"
Animated="False" Value="Global Script" />
<Property Type="String" Name="Script"
Animated="False"
Value="-- ===== Global Variable =====
trace('[MG] Group list\n')
IsScrolling = false;
MousePressed = false;
LastMouseY = 0;

if _config_os == 'windowsmobile' then
gPlayer = MusicPlayer.Instance()
gOrder = nil
gParam = nil
end
-- ===== Ease functions =====
easeInOut = function( t, b, c, d )
t = t / d;
if 2 * t < 1 then
return c / 2 * t * t + b;
else
t = t - 1;
return -c / 2 * ( t * ( t - 2 ) ) + b;
end
end
easeOut = function( t, b, c, d )
t = t / d;
return -c * t * ( t - 2 ) + b;
end
easeIn = function( t, b, c, d )
t = t / d;
return c * t * t + b;
end
-- ===== Callback functions =====

-- ===== Functions =====

-- ===== Event Callback =====
function HandleMousePress(obj)
trace("Mouse pressed!\n");
MouseDown = true;
LastMouseY = obj._ymouse;
end

function HandleMouseRelease(obj)
trace("Mouse released!\n");
MouseDown = false;
if IsScrolling == true then
trace("Stop scrolling\n");
IsScrolling = false;
else
trace("Select address at point " .. obj._ymouse .. "\n");
index = listview:GetIndexAtMousePoint( 0, obj._ymouse );
trace("Connecting to index " .. index .. "\n");

if gOrder == '1' then
local data = ItemListGenerator:GetData(index)
url = URL('Manila://music/artist/allsongs.joe')
url.Parameters:AddParameter('param', data.Title)
Application.Instance().Navigation:Navigate(url)
elseif gOrder == '11' then
local data = ItemListGenerator:GetData(index)
url = URL('Manila://music/artist/album/allsongs.joe')
url.Parameters:AddParameter('param', data.Title)
Application.Instance().Navigation:Navigate(url)
elseif gOrder == '2' then
local data = ItemListGenerator:GetData(index)
url = URL('Manila://music/album/allsongs.joe')
url.Parameters:AddParameter('param', data.Title)
Application.Instance().Navigation:Navigate(url)
elseif gOrder == '4' then
local data = ItemListGenerator:GetData(index)
url = URL('Manila://music/genre/allsongs.joe')
url.Parameters:AddParameter('param', data.Title)
Application.Instance().Navigation:Navigate(url)
end
end
end

function HandleMouseMove(obj)
local DeltaY = obj._ymouse - LastMouseY;
if MouseDown and not IsScrolling and ( DeltaY > 3 or DeltaY < -3 ) then
IsScrolling = true;
end

if IsScrolling == true then
trace("Scroll\n");
LastMouseY = obj._ymouse;

obj.VerticalScroll = obj.VerticalScroll - DeltaY;
end
end

HandleItemCreated = function(data, element)
if _config_os == 'windowsmobile' then
trace('[MG] ItemCreated\n')
local title = element.Namespace:FindName('title')
title.String = data.Title
end
end

function RSKFunction()
Application.Instance().Navigation:Navigate('Manila://music.joe')
end

function LSKFunction()
Application.Instance().Navigation:NavigateBack()
end

-- Create a new layout
ItemListLayout = TileLayout();
ItemListLayout:SetItemSizeF(480,80,0);

-- Set Layout
listview:SetLayout(ItemListLayout);

if _config_os == "windowsmobile" then
gOrder = _request.URL.Parameters:GetParameter('order')
gParam = _request.URL.Parameters:GetParameter('param')
if gParam == '' then
gParam = MusicConfig.Instance():GetSetting(MusicConfig.CONFIG_GROUP_STRING)
end
-- Artist
local cond = MusicWhereConditions()
if gOrder == '1' then
gPlayer:Database():SelectGroup(MusicDatabase.VID_ARTISTS, MusicDatabase.FID_SONG_ARTIST, cond)
gizmotitle.String = 'Artists'
elseif gOrder == '11' then
cond:AddCondition(gParam)
gPlayer:Database():SelectGroup(MusicDatabase.VID_ALBUMS_OF_ARTIST, MusicDatabase.FID_SONG_ALBUM, cond)
gizmotitle.String = gParam
elseif gOrder == '2' then
gPlayer:Database():SelectGroup(MusicDatabase.VID_ALBUMS, MusicDatabase.FID_SONG_ALBUM, cond)
gizmotitle.String = 'Albums'
elseif gOrder == '4' then
gPlayer:Database():SelectGroup(MusicDatabase.VID_GENRES, MusicDatabase.FID_SONG_GENRE, cond)
gizmotitle.String = 'Genres'
end
trace('[MG] Init list\n')
PeopleCollection = gPlayer:Database().CurGroupList
ItemListGenerator = LibraryGeneratorMusicInfo( PeopleCollection, listview:GetMovie(), listview.ComponentLibraryName, listview.ComponentLibraryID );
trace('[MG] Inited LibraryGenerator\n')
Application.Instance():SetLeftSoftkey( Softkey( "Up", LSKFunction ) );
Application.Instance():SetRightSoftkey( Softkey( "Player", RSKFunction ) );
else
FakeCollection = VectorNotifyint();
for i = 0, 10 do
FakeCollection:push_back(i);
end
ItemListGenerator = LibraryGeneratorint( FakeCollection, listview:GetMovie(), listview.ComponentLibraryName, listview.ComponentLibraryID );
end

-- Flag that ALL the UI in the list view are the same so it can recycle them.
ItemListGenerator.AllowRecycle = true;

-- Connect to Generator Events
ItemListGenerator.ItemCreated.connect = HandleItemCreated;

-- Set Generator
listview:SetGenerator(ItemListGenerator);

listview.onPress.connect = HandleMousePress;
listview.onRelease.connect = HandleMouseRelease;
listview.onReleaseOutside.connect = HandleMouseRelease;
listview.onMouseMove.connect = HandleMouseMove;
" />

Don't understand i can read all the m9 files there isn't binary or crypt files

Ok finally understand you are just waiting people to explain you how to decompile m9 files in xml, ok, sorry i missed reading one post ^^