├── lib ├── NAudio.dll ├── taglib-sharp.dll ├── RavenEmbeddedClient │ ├── log4net.dll │ ├── Lucene.Net.dll │ ├── Lucene.Net.pdb │ ├── Raven.Http.dll │ ├── Raven.Http.pdb │ ├── Raven.Munin.dll │ ├── Raven.Munin.pdb │ ├── Spatial.Net.dll │ ├── Esent.Interop.dll │ ├── Esent.Interop.pdb │ ├── AsyncCtpLibrary.dll │ ├── Newtonsoft.Json.dll │ ├── Newtonsoft.Json.pdb │ ├── Raven.Database.dll │ ├── Raven.Database.pdb │ ├── SpellChecker.Net.dll │ ├── Raven.Abstractions.dll │ ├── Raven.Abstractions.pdb │ ├── Raven.Client.Embedded.dll │ ├── Raven.Client.Embedded.pdb │ ├── Raven.Storage.Esent.dll │ ├── Raven.Storage.Esent.pdb │ ├── Raven.Storage.Managed.dll │ ├── Raven.Storage.Managed.pdb │ ├── ICSharpCode.NRefactory.dll │ ├── Raven.Client.Lightweight.dll │ └── Raven.Client.Lightweight.pdb └── RavenClient │ ├── MissingBitsFromClientProfile.dll │ └── MissingBitsFromClientProfile.pdb ├── ProgettoMalgeri.suo ├── wpf-player ├── MyIco.ico ├── header.jpg ├── Images │ ├── db.png │ ├── info.png │ ├── load.png │ ├── play.png │ ├── stop.png │ ├── network.png │ ├── pause.png │ ├── app_exit.png │ ├── info_black.png │ ├── global_network.png │ ├── playback_pause.png │ ├── playback_play.png │ ├── playback_stop.png │ ├── document_refresh.png │ ├── folder_database.png │ └── media_volume_2_inv.png ├── Application.ico ├── headphones.bmp ├── headphones.ico ├── info_black.png ├── Fonts │ ├── segoeui.ttf │ ├── segoeuib.ttf │ ├── segoeuii.ttf │ ├── segoeuil.ttf │ ├── segoeuiz.ttf │ └── seguisb.ttf ├── Views │ ├── playback_play.png │ ├── playback_stop.png │ └── playback_pause.png ├── NodesGetter.cs ├── NodesGetter.Designer.cs ├── App.xaml.cs ├── TrackDetailDialog.xaml ├── App.xaml ├── PositionIndicator.xaml.cs ├── TrackDetailDialog.xaml.cs ├── AppSplashDialog.xaml.cs ├── CircularProgressBar.xaml.cs ├── AboutDialog.xaml.cs ├── app.manifest ├── PositionIndicator.xaml ├── BooleanInverter.cs └── AppSplashDialog.xaml ├── p2p-player ├── favicon.ico ├── sound_high.png ├── Views │ ├── playback_stop.png │ ├── playback_pause.png │ ├── PlayerDictionary.xaml │ ├── MainView.xaml.cs │ ├── SearchList.xaml.cs │ ├── AudioPlayer.xaml.cs │ ├── MainView.xaml │ └── SearchList.xaml ├── Images │ ├── playback_pause.png │ ├── playback_play.png │ └── playback_stop.png ├── Properties │ ├── AppManifest.xml │ ├── OutOfBrowserSettings.xml │ └── AssemblyInfo.cs ├── ServiceReferences.ClientConfig ├── p2p-player.csproj.user ├── SampleData │ └── MainViewModelSampleData.xaml ├── MainDictionary.xaml ├── MainPage.xaml.cs ├── App.xaml ├── ViewModels │ ├── SearchListModel.cs │ ├── MainViewModel.cs │ └── AudioPlayerModel.cs └── MainPage.xaml ├── Documentation ├── GetRequest.png ├── PutRequest.png └── AcademicPresentation │ ├── snap1.jpg │ ├── snap2.jpg │ ├── p2p-player.pdf │ ├── p2p-player.pptx │ ├── template_main.jpg │ ├── beyond_the_scene.dia │ ├── beyond_the_scene.jpeg │ ├── semantic_keyword.dia │ ├── semantic_keyword.jpeg │ └── template_internal.jpg ├── Examples ├── Resource │ ├── Garden.mp3 │ └── SevenMP3.mp3 ├── app.config ├── Properties │ └── AssemblyInfo.cs └── ProgrammingExamples.cs ├── Kademlia ├── Kademlia │ ├── Kademlia.csproj.user │ ├── Messages │ │ ├── MessageEventHandler.cs │ │ ├── Response.cs │ │ ├── Ping.cs │ │ ├── Pong.cs │ │ ├── FindNode.cs │ │ ├── FindValue.cs │ │ ├── FindValueContactResponse.cs │ │ ├── FindValueDataResponse.cs │ │ ├── StoreResponse.cs │ │ ├── FindNodeResponse.cs │ │ └── StoreQuery.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── Contact.cs └── KademliaTester │ ├── KademliaTester.csproj.user │ ├── app.config │ └── Properties │ └── AssemblyInfo.cs ├── WebServer ├── Properties │ ├── Settings.settings │ ├── Settings.Designer.cs │ ├── app.manifest │ └── AssemblyInfo.cs └── Settings.cs ├── httpserver.py ├── nodes.xml ├── add_agpl_preamble.sh ├── add_agpl_preamble_xaml.sh ├── cli-peer ├── Properties │ └── AssemblyInfo.cs ├── app.manifest └── PeerRunner.cs ├── UdpBinding ├── UdpBindingCollectionElement.cs ├── UdpBindingConfigurationElement.cs └── Properties │ └── AssemblyInfo.cs ├── Persistence ├── IDocumentType.cs ├── ILoadable.cs ├── DhtElementComparer.cs ├── Properties │ └── AssemblyInfo.cs └── RepositoryConfiguration.cs ├── Metrics ├── Properties │ └── AssemblyInfo.cs ├── Metrics.csproj └── FileQualityCoefficient.cs ├── TransportService ├── Messages │ ├── ChunkRequest.cs │ ├── GenericMessage.cs │ ├── AbstractMessage.cs │ └── ChunkResponse.cs ├── Properties │ └── AssemblyInfo.cs ├── ThreadPool.cs └── ITransportProtocol.cs └── README /lib/NAudio.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/NAudio.dll -------------------------------------------------------------------------------- /ProgettoMalgeri.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/ProgettoMalgeri.suo -------------------------------------------------------------------------------- /lib/taglib-sharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/taglib-sharp.dll -------------------------------------------------------------------------------- /wpf-player/MyIco.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/MyIco.ico -------------------------------------------------------------------------------- /wpf-player/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/header.jpg -------------------------------------------------------------------------------- /p2p-player/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/p2p-player/favicon.ico -------------------------------------------------------------------------------- /wpf-player/Images/db.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/db.png -------------------------------------------------------------------------------- /p2p-player/sound_high.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/p2p-player/sound_high.png -------------------------------------------------------------------------------- /wpf-player/Application.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Application.ico -------------------------------------------------------------------------------- /wpf-player/Images/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/info.png -------------------------------------------------------------------------------- /wpf-player/Images/load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/load.png -------------------------------------------------------------------------------- /wpf-player/Images/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/play.png -------------------------------------------------------------------------------- /wpf-player/Images/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/stop.png -------------------------------------------------------------------------------- /wpf-player/headphones.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/headphones.bmp -------------------------------------------------------------------------------- /wpf-player/headphones.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/headphones.ico -------------------------------------------------------------------------------- /wpf-player/info_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/info_black.png -------------------------------------------------------------------------------- /Documentation/GetRequest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/GetRequest.png -------------------------------------------------------------------------------- /Documentation/PutRequest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/PutRequest.png -------------------------------------------------------------------------------- /Examples/Resource/Garden.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Examples/Resource/Garden.mp3 -------------------------------------------------------------------------------- /wpf-player/Fonts/segoeui.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Fonts/segoeui.ttf -------------------------------------------------------------------------------- /wpf-player/Fonts/segoeuib.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Fonts/segoeuib.ttf -------------------------------------------------------------------------------- /wpf-player/Fonts/segoeuii.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Fonts/segoeuii.ttf -------------------------------------------------------------------------------- /wpf-player/Fonts/segoeuil.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Fonts/segoeuil.ttf -------------------------------------------------------------------------------- /wpf-player/Fonts/segoeuiz.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Fonts/segoeuiz.ttf -------------------------------------------------------------------------------- /wpf-player/Fonts/seguisb.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Fonts/seguisb.ttf -------------------------------------------------------------------------------- /wpf-player/Images/network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/network.png -------------------------------------------------------------------------------- /wpf-player/Images/pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/pause.png -------------------------------------------------------------------------------- /Examples/Resource/SevenMP3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Examples/Resource/SevenMP3.mp3 -------------------------------------------------------------------------------- /wpf-player/Images/app_exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/app_exit.png -------------------------------------------------------------------------------- /p2p-player/Views/playback_stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/p2p-player/Views/playback_stop.png -------------------------------------------------------------------------------- /wpf-player/Images/info_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/info_black.png -------------------------------------------------------------------------------- /wpf-player/Views/playback_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Views/playback_play.png -------------------------------------------------------------------------------- /wpf-player/Views/playback_stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Views/playback_stop.png -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/log4net.dll -------------------------------------------------------------------------------- /p2p-player/Images/playback_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/p2p-player/Images/playback_pause.png -------------------------------------------------------------------------------- /p2p-player/Images/playback_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/p2p-player/Images/playback_play.png -------------------------------------------------------------------------------- /p2p-player/Images/playback_stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/p2p-player/Images/playback_stop.png -------------------------------------------------------------------------------- /p2p-player/Views/playback_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/p2p-player/Views/playback_pause.png -------------------------------------------------------------------------------- /wpf-player/Images/global_network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/global_network.png -------------------------------------------------------------------------------- /wpf-player/Images/playback_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/playback_pause.png -------------------------------------------------------------------------------- /wpf-player/Images/playback_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/playback_play.png -------------------------------------------------------------------------------- /wpf-player/Images/playback_stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/playback_stop.png -------------------------------------------------------------------------------- /wpf-player/Views/playback_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Views/playback_pause.png -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Lucene.Net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Lucene.Net.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Lucene.Net.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Lucene.Net.pdb -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Http.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Http.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Http.pdb -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Munin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Munin.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Munin.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Munin.pdb -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Spatial.Net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Spatial.Net.dll -------------------------------------------------------------------------------- /wpf-player/Images/document_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/document_refresh.png -------------------------------------------------------------------------------- /wpf-player/Images/folder_database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/folder_database.png -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Esent.Interop.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Esent.Interop.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Esent.Interop.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Esent.Interop.pdb -------------------------------------------------------------------------------- /wpf-player/Images/media_volume_2_inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/wpf-player/Images/media_volume_2_inv.png -------------------------------------------------------------------------------- /Documentation/AcademicPresentation/snap1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/AcademicPresentation/snap1.jpg -------------------------------------------------------------------------------- /Documentation/AcademicPresentation/snap2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/AcademicPresentation/snap2.jpg -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/AsyncCtpLibrary.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/AsyncCtpLibrary.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Newtonsoft.Json.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Newtonsoft.Json.pdb -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Database.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Database.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Database.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Database.pdb -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/SpellChecker.Net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/SpellChecker.Net.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Abstractions.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Abstractions.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Abstractions.pdb -------------------------------------------------------------------------------- /Documentation/AcademicPresentation/p2p-player.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/AcademicPresentation/p2p-player.pdf -------------------------------------------------------------------------------- /lib/RavenClient/MissingBitsFromClientProfile.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenClient/MissingBitsFromClientProfile.dll -------------------------------------------------------------------------------- /lib/RavenClient/MissingBitsFromClientProfile.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenClient/MissingBitsFromClientProfile.pdb -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Client.Embedded.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Client.Embedded.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Client.Embedded.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Client.Embedded.pdb -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Storage.Esent.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Storage.Esent.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Storage.Esent.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Storage.Esent.pdb -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Storage.Managed.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Storage.Managed.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Storage.Managed.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Storage.Managed.pdb -------------------------------------------------------------------------------- /Documentation/AcademicPresentation/p2p-player.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/AcademicPresentation/p2p-player.pptx -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/ICSharpCode.NRefactory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/ICSharpCode.NRefactory.dll -------------------------------------------------------------------------------- /Documentation/AcademicPresentation/template_main.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/AcademicPresentation/template_main.jpg -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Client.Lightweight.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Client.Lightweight.dll -------------------------------------------------------------------------------- /lib/RavenEmbeddedClient/Raven.Client.Lightweight.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/lib/RavenEmbeddedClient/Raven.Client.Lightweight.pdb -------------------------------------------------------------------------------- /Documentation/AcademicPresentation/beyond_the_scene.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/AcademicPresentation/beyond_the_scene.dia -------------------------------------------------------------------------------- /Documentation/AcademicPresentation/beyond_the_scene.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/AcademicPresentation/beyond_the_scene.jpeg -------------------------------------------------------------------------------- /Documentation/AcademicPresentation/semantic_keyword.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/AcademicPresentation/semantic_keyword.dia -------------------------------------------------------------------------------- /Documentation/AcademicPresentation/semantic_keyword.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/AcademicPresentation/semantic_keyword.jpeg -------------------------------------------------------------------------------- /Documentation/AcademicPresentation/template_internal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zencoders/sambatyon/HEAD/Documentation/AcademicPresentation/template_internal.jpg -------------------------------------------------------------------------------- /p2p-player/Properties/AppManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Kademlia/Kademlia/Kademlia.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | it-IT 11 | false 12 | 13 | -------------------------------------------------------------------------------- /Kademlia/KademliaTester/KademliaTester.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | it-IT 11 | false 12 | 13 | -------------------------------------------------------------------------------- /WebServer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9997 7 | 8 | 9 | 10000 10 | 11 | 12 | -------------------------------------------------------------------------------- /p2p-player/Properties/OutOfBrowserSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | Applicazione p2p-player sul desktop, a casa, in ufficio o in viaggio. 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /p2p-player/ServiceReferences.ClientConfig: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /httpserver.py: -------------------------------------------------------------------------------- 1 | import string, cgi, time 2 | from os import curdir, sep 3 | from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer 4 | 5 | class Handler(BaseHTTPRequestHandler): 6 | def do_GET(self): 7 | try: 8 | f = open(curdir + sep + 'nodes.xml') 9 | self.send_response(200) 10 | self.send_header('Content-type', 'application/xml') 11 | self.end_headers() 12 | self.wfile.write(f.read()) 13 | f.close() 14 | return 15 | except IOError: 16 | self.send_error(404, 'File not found!') 17 | 18 | def main(): 19 | try: 20 | server = HTTPServer(('',8000), Handler) 21 | print 'started httpserver....' 22 | server.serve_forever() 23 | except KeyboardInterrupt: 24 | print '^C received, shutting down' 25 | server.socket.close() 26 | 27 | if __name__ == '__main__': 28 | main() -------------------------------------------------------------------------------- /nodes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 192.168.0.4 5 | 10000 6 | 7 | 8 | 192.168.0.4 9 | 10001 10 | 11 | 12 | 192.168.0.4 13 | 10002 14 | 15 | 16 | 192.168.0.4 17 | 10003 18 | 19 | 20 | 192.168.0.4 21 | 10004 22 | 23 | 24 | 192.168.0.3 25 | 10000 26 | 27 | 28 | 192.168.0.3 29 | 10001 30 | 31 | 32 | 192.168.0.3 33 | 10002 34 | 35 | 36 | 192.168.0.3 37 | 10003 38 | 39 | 40 | 192.168.0.3 41 | 10004 42 | 43 | -------------------------------------------------------------------------------- /p2p-player/p2p-player.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | OfflineApplication 10 | True 11 | False 12 | False 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | True 22 | p2p-player 23 | True 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /wpf-player/NodesGetter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.ComponentModel; 5 | using System.Configuration.Install; 6 | using System.Linq; 7 | using System.Net; 8 | 9 | 10 | namespace wpf_player 11 | { 12 | [RunInstaller(true)] 13 | public partial class NodesGetter : System.Configuration.Install.Installer 14 | { 15 | /// 16 | /// Default constructor 17 | /// 18 | public NodesGetter() 19 | { 20 | InitializeComponent(); 21 | } 22 | /// 23 | /// Method called during installation. This method downloads the nodes file. 24 | /// 25 | /// 26 | public override void Install(IDictionary stateSaver) 27 | { 28 | base.Install(stateSaver); 29 | WebClient webClient = new WebClient(); 30 | try 31 | { 32 | webClient.DownloadFile("http://localhost:8000/nodes.xml", Context.Parameters["targetdir"] + "\\Resource\\nodes.xml"); 33 | } 34 | catch (Exception e) 35 | { 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Examples/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /wpf-player/NodesGetter.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace wpf_player 2 | { 3 | /// 4 | /// Installer class used to download the nodes file 5 | /// 6 | partial class NodesGetter 7 | { 8 | /// 9 | /// Variabile di progettazione necessaria. 10 | /// 11 | private System.ComponentModel.IContainer components = null; 12 | 13 | /// 14 | /// Liberare le risorse in uso. 15 | /// 16 | /// ha valore true se le risorse gestite devono essere eliminate, false in caso contrario. 17 | protected override void Dispose(bool disposing) 18 | { 19 | if (disposing && (components != null)) 20 | { 21 | components.Dispose(); 22 | } 23 | base.Dispose(disposing); 24 | } 25 | 26 | #region Codice generato da Progettazione componenti 27 | 28 | /// 29 | /// Metodo necessario per il supporto della finestra di progettazione. Non modificare 30 | /// il contenuto del metodo con l'editor di codice. 31 | /// 32 | private void InitializeComponent() 33 | { 34 | components = new System.ComponentModel.Container(); 35 | } 36 | 37 | #endregion 38 | } 39 | } -------------------------------------------------------------------------------- /p2p-player/SampleData/MainViewModelSampleData.xaml: -------------------------------------------------------------------------------- 1 | 28 |  29 | -------------------------------------------------------------------------------- /add_agpl_preamble.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #sed -i '1s/\(.*\)/\/* kasdkaosdkoaskdoaskdoaskdoaskokaos \n asdkoakdoakdosakdoaskdosakdoad $ *\/\n\1/' prova.txt 4 | 5 | AGPL="1s/\(.*\)/\/*****************************************************************************************\n * p2p-player\n * An audio player developed in C# based on a shared base to obtain the music from.\n * \n * Copyright \(C\) 2010-2011 Dario Mazza, Sebastiano Merlino\n *\n * This program is free software: you can redistribute it and\/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or \(at your option\) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n * \n * Dario Mazza \(dariomzz@gmail.com\)\n * Sebastiano Merlino \(etr@pensieroartificiale.com\)\n * Full Source and Documentation available on Google Code Project \"p2p-player\", \n * see \n *\n ******************************************************************************************\/\n\n\1/" 6 | 7 | echo "sed -i ${AGPL} ..." 8 | for i in `find -iname "*.cs"`; do sed -i "${AGPL}" $i ; done; 9 | 10 | #sed -i '1s/\(.*\)/$AGPL\1/' Metrics/FileQualityCoefficient.cs 11 | 12 | -------------------------------------------------------------------------------- /p2p-player/MainDictionary.xaml: -------------------------------------------------------------------------------- 1 | 28 |  31 | 32 | -------------------------------------------------------------------------------- /add_agpl_preamble_xaml.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #sed -i '1s/\(.*\)/\/* kasdkaosdkoaskdoaskdoaskdoaskokaos \n asdkoakdoakdosakdoaskdosakdoad $ *\/\n\1/' prova.txt 4 | 5 | AGPL="1s/\(.*\)/\n\1/" 6 | 7 | echo "sed -i ${AGPL} ..." 8 | for i in `find -iname "*.xaml"`; do sed -i "${AGPL}" $i ; done; 9 | 10 | #sed -i '1s/\(.*\)/$AGPL\1/' Metrics/FileQualityCoefficient.cs 11 | 12 | -------------------------------------------------------------------------------- /p2p-player/Views/PlayerDictionary.xaml: -------------------------------------------------------------------------------- 1 | 28 |  31 | 32 | -------------------------------------------------------------------------------- /wpf-player/App.xaml.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Configuration; 30 | using System.Data; 31 | using System.Windows; 32 | 33 | namespace wpf_player 34 | { 35 | /// 36 | /// Interaction logic for App.xaml 37 | /// 38 | public partial class App : Application 39 | { 40 | } 41 | } -------------------------------------------------------------------------------- /wpf-player/TrackDetailDialog.xaml: -------------------------------------------------------------------------------- 1 | 28 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /wpf-player/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | /***************************************************************************************** 3 | * p2p-player 4 | * An audio player developed in C# based on a shared base to obtain the music from. 5 | * 6 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 7 | * 8 | * This program is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU Affero General Public License as 10 | * published by the Free Software Foundation, either version 3 of the 11 | * License, or (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU Affero General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Affero General Public License 19 | * along with this program. If not, see . 20 | * 21 | * Dario Mazza (dariomzz@gmail.com) 22 | * Sebastiano Merlino (etr@pensieroartificiale.com) 23 | * Full Source and Documentation available on Google Code Project "p2p-player", 24 | * see 25 | * 26 | ******************************************************************************************/ 27 | 28 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /cli-peer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // Le informazioni generali relative a un assembly sono controllate dal seguente 6 | // set di attributi. Per modificare le informazioni associate a un assembly 7 | // occorre quindi modificare i valori di questi attributi. 8 | [assembly: AssemblyTitle("cli-peer")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("cli-peer")] 13 | [assembly: AssemblyCopyright("")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Se si imposta ComVisible su false, i tipi in questo assembly non saranno visibili 18 | // ai componenti COM. Se è necessario accedere a un tipo in questo assembly da 19 | // COM, impostare su true l'attributo ComVisible per tale tipo. 20 | [assembly: ComVisible(false)] 21 | 22 | // Se il progetto viene esposto a COM, il GUID che segue verrà utilizzato per creare l'ID della libreria dei tipi 23 | [assembly: Guid("71a88fa7-43df-4c7e-84ec-7b8e044cc77f")] 24 | 25 | // Le informazioni sulla versione di un assembly sono costituite dai seguenti quattro valori: 26 | // 27 | // Numero di versione principale 28 | // Numero di versione secondario 29 | // Numero build 30 | // Revisione 31 | // 32 | // È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build 33 | // utilizzando l'asterisco (*) come descritto di seguito: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /UdpBinding/UdpBindingCollectionElement.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System.ServiceModel.Configuration; 28 | using System.ServiceModel.Channels; 29 | 30 | namespace UdpTransportBinding 31 | { 32 | /// 33 | /// Binding Section for Udp. Implements configuration for SampleProfileUdpBinding. 34 | /// 35 | public class UdpBindingCollectionElement : StandardBindingCollectionElement 36 | { 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Kademlia/Kademlia/Messages/MessageEventHandler.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | /* 28 | * Created by SharpDevelop. 29 | * User: anovak 30 | * Date: 6/22/2010 31 | * Time: 10:23 PM 32 | * 33 | * To change this template use Tools | Options | Coding | Edit Standard Headers. 34 | */ 35 | using System; 36 | 37 | namespace Kademlia.Messages 38 | { 39 | /// 40 | /// A delegate for handling message events. 41 | /// 42 | public delegate void MessageEventHandler(Contact sender, T message) where T : Message; 43 | } 44 | -------------------------------------------------------------------------------- /p2p-player/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Windows; 29 | using System.Windows.Controls; 30 | using System.Windows.Documents; 31 | using System.Windows.Ink; 32 | using System.Windows.Input; 33 | using System.Windows.Media; 34 | using System.Windows.Media.Animation; 35 | using System.Windows.Shapes; 36 | 37 | namespace p2p_player 38 | { 39 | public partial class MainPage : UserControl 40 | { 41 | public MainPage() 42 | { 43 | // Required to initialize variables 44 | InitializeComponent(); 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /p2p-player/Views/MainView.xaml.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Windows; 29 | using System.Windows.Controls; 30 | using System.Windows.Documents; 31 | using System.Windows.Ink; 32 | using System.Windows.Input; 33 | using System.Windows.Media; 34 | using System.Windows.Media.Animation; 35 | using System.Windows.Shapes; 36 | 37 | namespace p2p_player 38 | { 39 | public partial class MainView : UserControl 40 | { 41 | public MainView() 42 | { 43 | // Required to initialize variables 44 | InitializeComponent(); 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /p2p-player/App.xaml: -------------------------------------------------------------------------------- 1 | 28 |  32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Persistence/IDocumentType.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Linq; 30 | using System.Text; 31 | 32 | namespace Persistence 33 | { 34 | /// 35 | /// Interface that describes a Document that will be stored in a Repository. 36 | /// The unique constrait for this type is the presence of a property called Id. 37 | /// 38 | public interface IDocumentType 39 | { 40 | /// 41 | /// Identifier of the document. 42 | /// 43 | string Id 44 | { 45 | get; 46 | set; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /p2p-player/ViewModels/SearchListModel.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Text; 30 | using System.Windows.Data; 31 | using System.ComponentModel; 32 | using System.Collections.ObjectModel; 33 | 34 | namespace p2p_player 35 | { 36 | public class SearchListModel : INotifyPropertyChanged 37 | { 38 | public SearchListModel() 39 | { 40 | 41 | } 42 | 43 | #region INotifyPropertyChanged 44 | public event PropertyChangedEventHandler PropertyChanged; 45 | 46 | private void NotifyPropertyChanged(String info) 47 | { 48 | if (PropertyChanged != null) 49 | { 50 | PropertyChanged(this, new PropertyChangedEventArgs(info)); 51 | } 52 | } 53 | #endregion 54 | } 55 | } -------------------------------------------------------------------------------- /p2p-player/Views/SearchList.xaml.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Text; 30 | using System.Windows; 31 | using System.Windows.Controls; 32 | using System.Windows.Data; 33 | using System.Windows.Documents; 34 | using System.Windows.Input; 35 | using System.Windows.Media; 36 | using System.Windows.Media.Imaging; 37 | using System.Windows.Shapes; 38 | 39 | namespace p2p_player 40 | { 41 | /// 42 | /// Logica di interazione per SearchList.xaml 43 | /// 44 | public partial class SearchList : UserControl 45 | { 46 | public SearchList() 47 | { 48 | this.InitializeComponent(); 49 | 50 | // Inserire il codice richiesto per la creazione dell'oggetto al di sotto di questo punto. 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /Kademlia/KademliaTester/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 11 | 12 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | 27 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /p2p-player/Views/AudioPlayer.xaml.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Text; 30 | using System.Windows; 31 | using System.Windows.Controls; 32 | using System.Windows.Data; 33 | using System.Windows.Documents; 34 | using System.Windows.Input; 35 | using System.Windows.Media; 36 | using System.Windows.Media.Imaging; 37 | using System.Windows.Shapes; 38 | using System.IO; 39 | 40 | namespace p2p_player 41 | { 42 | /// 43 | /// Logica di interazione per AudioPlayer.xaml 44 | /// 45 | public partial class AudioPlayer : UserControl 46 | { 47 | public AudioPlayer() 48 | { 49 | this.InitializeComponent(); 50 | // Inserire il codice richiesto per la creazione dell'oggetto al di sotto di questo punto. 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /wpf-player/PositionIndicator.xaml.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Text; 30 | using System.Windows; 31 | using System.Windows.Controls; 32 | using System.Windows.Data; 33 | using System.Windows.Documents; 34 | using System.Windows.Input; 35 | using System.Windows.Media; 36 | using System.Windows.Media.Imaging; 37 | using System.Windows.Navigation; 38 | using System.Windows.Shapes; 39 | 40 | namespace wpf_player 41 | { 42 | /// 43 | /// Logica di interazione per PositionIndicator.xaml 44 | /// 45 | public partial class PositionIndicator : UserControl 46 | { 47 | /// 48 | /// Default constructor 49 | /// 50 | public PositionIndicator() 51 | { 52 | this.InitializeComponent(); 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /wpf-player/TrackDetailDialog.xaml.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Text; 30 | using System.Windows; 31 | using System.Windows.Controls; 32 | using System.Windows.Data; 33 | using System.Windows.Documents; 34 | using System.Windows.Input; 35 | using System.Windows.Media; 36 | using System.Windows.Media.Imaging; 37 | using System.Windows.Shapes; 38 | 39 | namespace wpf_player 40 | { 41 | /// 42 | /// Logica di interazione per TrackDetailDialog.xaml 43 | /// 44 | public partial class TrackDetailDialog : Window 45 | { 46 | /// 47 | /// Default Constructor 48 | /// 49 | public TrackDetailDialog() 50 | { 51 | this.InitializeComponent(); 52 | 53 | // Inserire il codice richiesto per la creazione dell'oggetto al di sotto di questo punto. 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /WebServer/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Il codice è stato generato da uno strumento. 4 | // Versione runtime:4.0.30319.1 5 | // 6 | // Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se 7 | // il codice viene rigenerato. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace PeerLibrary.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | 26 | [global::System.Configuration.UserScopedSettingAttribute()] 27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 28 | [global::System.Configuration.DefaultSettingValueAttribute("9997")] 29 | public string udpPort { 30 | get { 31 | return ((string)(this["udpPort"])); 32 | } 33 | set { 34 | this["udpPort"] = value; 35 | } 36 | } 37 | 38 | [global::System.Configuration.UserScopedSettingAttribute()] 39 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 40 | [global::System.Configuration.DefaultSettingValueAttribute("10000")] 41 | public string kademliaPort { 42 | get { 43 | return ((string)(this["kademliaPort"])); 44 | } 45 | set { 46 | this["kademliaPort"] = value; 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /wpf-player/AppSplashDialog.xaml.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Text; 30 | using System.Windows; 31 | using System.Windows.Controls; 32 | using System.Windows.Data; 33 | using System.Windows.Documents; 34 | using System.Windows.Input; 35 | using System.Windows.Media; 36 | using System.Windows.Media.Imaging; 37 | using System.Windows.Shapes; 38 | using System.Windows.Media.Animation; 39 | 40 | namespace wpf_player 41 | { 42 | /// 43 | /// Logica di interazione per AppSplashDialog.xaml 44 | /// 45 | public partial class AppSplashDialog : Window 46 | { 47 | /// 48 | /// Default constructor 49 | /// 50 | public AppSplashDialog() 51 | { 52 | this.InitializeComponent(); 53 | // Inserire il codice richiesto per la creazione dell'oggetto al di sotto di questo punto. 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /Kademlia/Kademlia/Messages/Response.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Linq; 30 | using System.Text; 31 | using System.Runtime.Serialization; 32 | using System.ServiceModel; 33 | 34 | namespace Kademlia.Messages 35 | { 36 | /// 37 | /// Represents a response message, in the same conversation as an original message. 38 | /// 39 | [DataContract] 40 | public abstract class Response : Message 41 | { 42 | /// 43 | /// Make a reply in the same conversation as the given message. 44 | /// 45 | /// The sender node identificator 46 | /// The message the node is responding to 47 | /// The address of the sender 48 | public Response(ID nodeID, Message respondingTo, Uri nodeEndpoint) : base(nodeID, respondingTo.ConversationID, nodeEndpoint) 49 | { 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Kademlia/Kademlia/Messages/Ping.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Linq; 30 | using System.Text; 31 | using System.Runtime.Serialization; 32 | using System.ServiceModel; 33 | 34 | namespace Kademlia.Messages 35 | { 36 | /// 37 | /// Represents a ping message, used to see if a remote node is up. 38 | /// 39 | [DataContract] 40 | public class Ping : Message 41 | { 42 | /// 43 | /// Constructor of the ping message class 44 | /// 45 | /// Identificator of te sender 46 | /// Endpoint of the sender 47 | public Ping(ID senderID, Uri nodeEndpoint) : base(senderID, nodeEndpoint) 48 | { 49 | } 50 | 51 | /// 52 | /// Default Property indicating the name of the message. 53 | /// 54 | [DataMember] 55 | public override string Name 56 | { 57 | get { return "PING"; } 58 | set { } 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Kademlia/Kademlia/Messages/Pong.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Linq; 30 | using System.Text; 31 | using System.Runtime.Serialization; 32 | using System.ServiceModel; 33 | 34 | namespace Kademlia.Messages 35 | { 36 | /// 37 | /// Represents a ping reply. 38 | /// 39 | [DataContract] 40 | public class Pong : Response 41 | { 42 | /// 43 | /// Constructor of the Ping class 44 | /// 45 | /// Identificator of the Sender 46 | /// Ping message originating the pong 47 | /// URI endpoint of the Sender 48 | public Pong(ID senderID, Ping ping, Uri nodeEndpoint) : base(senderID, ping, nodeEndpoint) 49 | { 50 | } 51 | 52 | /// 53 | /// Name of the message 54 | /// 55 | [DataMember] 56 | public override string Name 57 | { 58 | get { return "PONG"; } 59 | set { } 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /p2p-player/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 28 |  34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /wpf-player/CircularProgressBar.xaml.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | namespace Progress 28 | { 29 | #region #using Directives 30 | 31 | using System.Windows; 32 | using System.Windows.Controls; 33 | using System.Windows.Media.Animation; 34 | 35 | #endregion 36 | 37 | /// 38 | /// Provides a circular progress bar 39 | /// 40 | public partial class CircularProgressBar : UserControl 41 | { 42 | static CircularProgressBar() 43 | { 44 | //Use a default Animation Framerate of 30, which uses less CPU time 45 | //than the standard 50 which you get out of the box 46 | Timeline.DesiredFrameRateProperty.OverrideMetadata(typeof(Timeline), new FrameworkPropertyMetadata { 47 | DefaultValue = 30 48 | }); 49 | } 50 | /// 51 | /// Default Constructor 52 | /// 53 | public CircularProgressBar() 54 | { 55 | InitializeComponent(); 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /wpf-player/AboutDialog.xaml.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Text; 30 | using System.Windows; 31 | using System.Windows.Controls; 32 | using System.Windows.Data; 33 | using System.Windows.Documents; 34 | using System.Windows.Input; 35 | using System.Windows.Media; 36 | using System.Windows.Media.Imaging; 37 | using System.Windows.Shapes; 38 | 39 | namespace wpf_player 40 | { 41 | /// 42 | /// Logica di interazione per AboutDialog.xaml 43 | /// 44 | public partial class AboutDialog : Window 45 | { 46 | /// 47 | /// Default Constructor 48 | /// 49 | public AboutDialog() 50 | { 51 | this.InitializeComponent(); 52 | 53 | // Inserire il codice richiesto per la creazione dell'oggetto al di sotto di questo punto. 54 | } 55 | /// 56 | /// Ok button click handler. This method closes the dialog 57 | /// 58 | /// 59 | /// 60 | private void okButton_Click(object sender, System.Windows.RoutedEventArgs e) 61 | { 62 | this.Close(); 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Kademlia/Kademlia/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | #region Using directives 28 | 29 | using System; 30 | using System.Reflection; 31 | using System.Runtime.InteropServices; 32 | 33 | #endregion 34 | 35 | // General Information about an assembly is controlled through the following 36 | // set of attributes. Change these attribute values to modify the information 37 | // associated with an assembly. 38 | [assembly: AssemblyTitle("Kademlia")] 39 | [assembly: AssemblyDescription("")] 40 | [assembly: AssemblyConfiguration("")] 41 | [assembly: AssemblyCompany("")] 42 | [assembly: AssemblyProduct("Kademlia")] 43 | [assembly: AssemblyCopyright("")] 44 | [assembly: AssemblyTrademark("")] 45 | [assembly: AssemblyCulture("")] 46 | 47 | // This sets the default COM visibility of types in the assembly to invisible. 48 | // If you need to expose a type to COM, use [ComVisible(true)] on that type. 49 | [assembly: ComVisible(false)] 50 | 51 | // The assembly version has following format : 52 | // 53 | // Major.Minor.Build.Revision 54 | // 55 | // You can specify all the values or you can use the default the Revision and 56 | // Build Numbers by using the '*' as shown below: 57 | [assembly: AssemblyVersion("0.2.*")] 58 | -------------------------------------------------------------------------------- /Metrics/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | #region Using directives 28 | 29 | using System; 30 | using System.Reflection; 31 | using System.Runtime.InteropServices; 32 | 33 | #endregion 34 | 35 | // General Information about an assembly is controlled through the following 36 | // set of attributes. Change these attribute values to modify the information 37 | // associated with an assembly. 38 | [assembly: AssemblyTitle("Metrics")] 39 | [assembly: AssemblyDescription("")] 40 | [assembly: AssemblyConfiguration("")] 41 | [assembly: AssemblyCompany("")] 42 | [assembly: AssemblyProduct("Metrics")] 43 | [assembly: AssemblyCopyright("Copyright 2010")] 44 | [assembly: AssemblyTrademark("")] 45 | [assembly: AssemblyCulture("")] 46 | 47 | // This sets the default COM visibility of types in the assembly to invisible. 48 | // If you need to expose a type to COM, use [ComVisible(true)] on that type. 49 | [assembly: ComVisible(false)] 50 | 51 | // The assembly version has following format : 52 | // 53 | // Major.Minor.Build.Revision 54 | // 55 | // You can specify all the values or you can use the default the Revision and 56 | // Build Numbers by using the '*' as shown below: 57 | [assembly: AssemblyVersion("1.0.*")] 58 | -------------------------------------------------------------------------------- /Kademlia/KademliaTester/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | #region Using directives 28 | 29 | using System; 30 | using System.Reflection; 31 | using System.Runtime.InteropServices; 32 | 33 | #endregion 34 | 35 | // General Information about an assembly is controlled through the following 36 | // set of attributes. Change these attribute values to modify the information 37 | // associated with an assembly. 38 | [assembly: AssemblyTitle("KademliaTester")] 39 | [assembly: AssemblyDescription("")] 40 | [assembly: AssemblyConfiguration("")] 41 | [assembly: AssemblyCompany("")] 42 | [assembly: AssemblyProduct("KademliaTester")] 43 | [assembly: AssemblyCopyright("")] 44 | [assembly: AssemblyTrademark("")] 45 | [assembly: AssemblyCulture("")] 46 | 47 | // This sets the default COM visibility of types in the assembly to invisible. 48 | // If you need to expose a type to COM, use [ComVisible(true)] on that type. 49 | [assembly: ComVisible(false)] 50 | 51 | // The assembly version has following format : 52 | // 53 | // Major.Minor.Build.Revision 54 | // 55 | // You can specify all the values or you can use the default the Revision and 56 | // Build Numbers by using the '*' as shown below: 57 | [assembly: AssemblyVersion("1.0.*")] 58 | -------------------------------------------------------------------------------- /cli-peer/app.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /wpf-player/app.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Persistence/ILoadable.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Linq; 30 | using System.Text; 31 | 32 | namespace Persistence 33 | { 34 | /// 35 | /// Interface that describe an object that can be loaded in the the repository. 36 | /// 37 | public interface ILoadable 38 | { 39 | /// 40 | /// This method is used to return a instance of an object that contains only information that 41 | /// has to be serialized. 42 | /// 43 | /// A representation as database type of the current object 44 | dynamic GetAsDatabaseType(); 45 | /// 46 | /// Load data from an object loaded from the repository as Database type 47 | /// 48 | /// Dynamic object containing data 49 | /// True if all data have been successfully loaded, false otherwise 50 | bool LoadFromDatabaseType(dynamic data); 51 | /// 52 | /// Get database type associated to this object 53 | /// 54 | /// Type reference for the Database Type 55 | Type GetDatabaseType(); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Kademlia/Kademlia/Messages/FindNode.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Linq; 30 | using System.Text; 31 | using System.Runtime.Serialization; 32 | using System.ServiceModel; 33 | 34 | namespace Kademlia.Messages 35 | { 36 | /// 37 | /// A message used to search for a node. 38 | /// 39 | [DataContract] 40 | public class FindNode : Message 41 | { 42 | private ID target; 43 | 44 | /// 45 | /// Make a new FIND_NODE message 46 | /// 47 | /// the identificator of the sender 48 | /// The ID of the node searched 49 | /// The address of the sender 50 | public FindNode(ID nodeID, ID toFind, Uri nodeEndpoint) : base(nodeID, nodeEndpoint) 51 | { 52 | target = toFind; 53 | } 54 | 55 | /// 56 | /// Get/Set the target of this message. 57 | /// 58 | [DataMember] 59 | public ID Target 60 | { 61 | get { return target; } 62 | set { this.target = value; } 63 | } 64 | 65 | /// 66 | /// Default Name of the message 67 | /// 68 | [DataMember] 69 | public override string Name 70 | { 71 | get { return "FIND_NODE"; } 72 | set { } 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /Persistence/DhtElementComparer.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Linq; 30 | using System.Text; 31 | 32 | namespace Persistence 33 | { 34 | /// 35 | /// Comparer Class that performs custom comparison for the HashSet containing DhtElement 36 | /// 37 | class DhtElementComparer : IEqualityComparer 38 | { 39 | /// 40 | /// Equality Comparison that relies on DhtElement Equals method 41 | /// 42 | /// First element of the comparison 43 | /// Second element of the comparison 44 | /// True if the elements are equals, false otherwise 45 | bool IEqualityComparer.Equals(DhtElement x, DhtElement y) 46 | { 47 | return x.Equals(y); 48 | } 49 | /// 50 | /// Method for getting the HashCode of an Element. This relies on DhtElement GetHashCode method. 51 | /// 52 | /// DhtElement of whom we want to know the HashCode 53 | /// The HashCode of the element 54 | int IEqualityComparer.GetHashCode(DhtElement obj) 55 | { 56 | return obj.GetHashCode(); 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /Kademlia/Kademlia/Messages/FindValue.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Collections.Generic; 29 | using System.Linq; 30 | using System.Text; 31 | using System.Runtime.Serialization; 32 | using System.ServiceModel; 33 | 34 | namespace Kademlia.Messages 35 | { 36 | /// 37 | /// Represents a request to get a value. 38 | /// Receiver should either send key or a node list. 39 | /// 40 | [DataContract] 41 | public class FindValue : Message 42 | { 43 | private string key; 44 | 45 | /// 46 | /// Make a new FindValue message. 47 | /// 48 | /// The sender identificator 49 | /// The desired key by the sender 50 | /// The address of the sender 51 | public FindValue(ID nodeID, string wantedKey, Uri nodeEndpoint) : base(nodeID, nodeEndpoint) 52 | { 53 | this.key = wantedKey; 54 | } 55 | 56 | /// 57 | /// The key that the message searches. 58 | /// 59 | [DataMember] 60 | public string Key { 61 | get { return key; } 62 | set { this.key = value; } 63 | } 64 | 65 | /// 66 | /// the default name of the message 67 | /// 68 | [DataMember] 69 | public override string Name 70 | { 71 | get { return "FIND_VALUE"; } 72 | set { } 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /p2p-player/Views/MainView.xaml: -------------------------------------------------------------------------------- 1 | 28 |  39 | 40 | 41 | 42 | 43 | 44 | 45 | 52 | 53 | -------------------------------------------------------------------------------- /UdpBinding/UdpBindingConfigurationElement.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.ServiceModel.Channels; 29 | using System.Configuration; 30 | using System.Collections; 31 | using System.Globalization; 32 | using System.ServiceModel; 33 | using System.ServiceModel.Configuration; 34 | 35 | namespace UdpTransportBinding 36 | { 37 | public class UdpBindingConfigurationElement : StandardBindingElement 38 | { 39 | public UdpBindingConfigurationElement(string configurationName) 40 | : base(configurationName) 41 | { 42 | } 43 | 44 | public UdpBindingConfigurationElement() 45 | : this(null) 46 | { 47 | } 48 | 49 | protected override Type BindingElementType 50 | { 51 | get { return typeof(NetUdpBinding); } 52 | } 53 | 54 | protected override void OnApplyConfiguration(Binding binding) 55 | { 56 | if (binding == null) 57 | throw new ArgumentNullException("binding"); 58 | 59 | if (binding.GetType() != typeof(NetUdpBinding)) 60 | { 61 | throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, 62 | "Invalid type for binding. Expected type: {0}. Type passed in: {1}.", 63 | typeof(NetUdpBinding).AssemblyQualifiedName, 64 | binding.GetType().AssemblyQualifiedName)); 65 | } 66 | } 67 | 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Kademlia/Kademlia/Contact.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | using System; 28 | using System.Net; 29 | using System.ServiceModel; 30 | 31 | namespace Kademlia 32 | { 33 | /// 34 | /// Represents the information needed to contact another node. 35 | /// 36 | [Serializable] 37 | public class Contact 38 | { 39 | private ID nodeID; 40 | private Uri nodeEndpoint; 41 | 42 | /// 43 | /// Make a contact for a node with the given ID at the given location. 44 | /// 45 | /// The identificator of the node 46 | /// The address of the node 47 | public Contact(ID id, Uri endpoint) 48 | { 49 | nodeID = id; 50 | nodeEndpoint = endpoint; 51 | } 52 | 53 | /// 54 | /// Get the node's ID. 55 | /// 56 | /// The node ID 57 | public ID NodeID { 58 | get { return nodeID; } 59 | } 60 | 61 | /// 62 | /// Get the node's endpoint. 63 | /// 64 | /// The address 65 | public Uri NodeEndPoint { 66 | get { return nodeEndpoint; } 67 | } 68 | 69 | /// 70 | /// Method used to obtain a string representation of the class 71 | /// 72 | /// A string representing the object 73 | public override string ToString() 74 | { 75 | return NodeID.ToString() + "@" + NodeEndPoint.ToString(); 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /WebServer/Properties/app.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 47 | -------------------------------------------------------------------------------- /WebServer/Settings.cs: -------------------------------------------------------------------------------- 1 | /***************************************************************************************** 2 | * p2p-player 3 | * An audio player developed in C# based on a shared base to obtain the music from. 4 | * 5 | * Copyright (C) 2010-2011 Dario Mazza, Sebastiano Merlino 6 | * 7 | * This program is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Affero General Public License as 9 | * published by the Free Software Foundation, either version 3 of the 10 | * License, or (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Affero General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Affero General Public License 18 | * along with this program. If not, see . 19 | * 20 | * Dario Mazza (dariomzz@gmail.com) 21 | * Sebastiano Merlino (etr@pensieroartificiale.com) 22 | * Full Source and Documentation available on Google Code Project "p2p-player", 23 | * see 24 | * 25 | ******************************************************************************************/ 26 | 27 | namespace PeerLibrary.Properties { 28 | 29 | 30 | // La classe consente la gestione di eventi specifici sulla classe delle impostazioni: 31 | // L'evento SettingChanging viene generato prima della modifica di un valore dell'impostazione. 32 | // L'evento PropertyChanged viene generato dopo la modifica di un valore dell'impostazione. 33 | // L'evento SettingsLoaded viene generato dopo il caricamento dei valori dell'impostazione. 34 | // L'evento SettingsSaving viene generato prima del salvataggio dei valori dell'impostazione. 35 | internal sealed partial class Settings { 36 | 37 | public Settings() { 38 | // // Per aggiungere gestori eventi per il salvataggio e la modifica delle impostazioni, rimuovere i commenti dalle righe seguenti: 39 | // 40 | // this.SettingChanging += this.SettingChangingEventHandler; 41 | // 42 | // this.SettingsSaving += this.SettingsSavingEventHandler; 43 | // 44 | } 45 | 46 | private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) { 47 | // Aggiungere qui il codice per gestire l'evento SettingChangingEvent. 48 | } 49 | 50 | private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) { 51 | // Aggiungere qui il codice per gestire l'evento SettingsSaving. 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /p2p-player/Views/SearchList.xaml: -------------------------------------------------------------------------------- 1 | 28 |  38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 |