{"id":15625743,"url":"https://github.com/daniel15/ndephp","last_synced_at":"2025-07-16T23:33:54.079Z","repository":{"id":28775633,"uuid":"32298110","full_name":"Daniel15/ndephp","owner":"Daniel15","description":"Automatically exported from code.google.com/p/ndephp","archived":false,"fork":false,"pushed_at":"2015-03-16T05:42:55.000Z","size":164,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T17:14:45.227Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Daniel15.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-16T03:03:55.000Z","updated_at":"2021-04-16T10:45:20.000Z","dependencies_parsed_at":"2022-09-05T01:31:08.533Z","dependency_job_id":null,"html_url":"https://github.com/Daniel15/ndephp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Daniel15/ndephp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel15%2Fndephp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel15%2Fndephp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel15%2Fndephp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel15%2Fndephp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Daniel15","download_url":"https://codeload.github.com/Daniel15/ndephp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel15%2Fndephp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265550353,"owners_count":23786548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T10:02:44.786Z","updated_at":"2025-07-16T23:33:54.054Z","avatar_url":"https://github.com/Daniel15.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"================================================================================\r\nNDE (Nullsoft Database Engine) in PHP \r\nBy Daniel15 - http://www.d15.biz/\r\n================================================================================\r\n\r\nIntroduction\r\n============\r\nWinamp uses a system called the \"Nullsoft Database Engine\" to store some of its\r\ndata, the main one being the media library (main.dat and main.idx files). This\r\nscript will let you read these databases in PHP.\r\n\r\nThis is still beta, please report any problems at https://ndephp.googlecode.com/\r\n\r\nRequirements\r\n============\r\n - PHP 5 (this script makes use of PHP 5's OOP features)\r\n - iconv extension (http://au.php.net/iconv)\r\n \r\nUse\r\n===\r\nNOTE: This script is still in BETA, so the names of these functions may change\r\nin the future.\r\n\r\nThis script has two main classes that you'll want to use. Which one you use \r\ndepends on what database file you want to read. NDEDatabase is the main class,\r\nand is used in your script like this:\r\n\r\n\u003c?php\r\nrequire('nde.php');\r\n$database = new NDEDatabase('name');\r\n$records = $database-\u003erecords();\r\n// $records is now an array with all the database records.\r\n?\u003e\r\n\r\nThis will load the \"name\" database (which uses the \"name.idx\" and \"name.dat\"\r\nfiles), and get all the records. This class should work for all NDE databases\r\n(although it was mainly tested with the media library database).\r\n\r\nAdditionally, there is a class for *just* the media library database. The basic\r\nfunctionality of this is used in the exact same way, just with the different\r\nclass name (NDEMediaDatabase):\r\n\r\n\u003c?php\r\nrequire('nde_media.php');\r\n$database = new NDEMediaDatabase('main');\r\n$songs = $database-\u003erecords();\r\n// $songs will now have all the songs in it\r\n?\u003e\r\n\r\nHowever, this class also has some additional functions. Currently, the only \r\nother function is to get songs only by a particular artist:\r\n\r\n\u003c?php\r\n// ... the above code goes here\r\n\r\n$cascada_songs = $database-\u003eartist('Cascada')-\u003esongs();\r\n// $cascada_songs will now have all the songs by Cascada.\r\n?\u003e\r\n\r\nAn example script is in the \"test.php\" file, and another one in the \"test2.php\"\r\nfile. To try these scripts, copy your main.dat and main.idx files (at \r\nC:\\Documents and Settings\\username\\Application Data\\Winamp\\Plugins\\ml on Windows\r\nXP) into the directory you put the script in, and then access the script in your\r\nweb browser.\r\n\r\nAdditional documentation and more features coming soon! ...maybe. :)\r\n\r\nFeel free to email me - ndephp -[at]- d15.biz\r\n\r\n$Id$","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaniel15%2Fndephp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaniel15%2Fndephp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaniel15%2Fndephp/lists"}