protected void Application_Start() { Action<User> saveUserToSession = (account) => { HttpContext.Current.Session.Remove("User"); HttpContext.Current.Session.Add("User", account); }; Func<User> getFromSession = () => (User)HttpContext.Current.Session["User"]; var memoryDataSourceUser = new Dictionary<string, User>(); //sample initialization memoryDataSourceUser.Add("wow", new User() { Id = Guid.Parse("537c8609-ddbe-434f-9e74-b2f55b9a35da"), Name = "wow", Password = "******" }); memoryDataSourceUser.Add("wah", new User() { Id = Guid.Parse("2939c3e6-0ee6-4167-a8aa-f5e95e58edee"), Name = "wah", Password = "******" }); //var repoAccount = new MemoryRepoAccount(new Dictionary<Guid, Account>()); var repoAccount = new FileSystemRepoAccount(); var serviceAccount = new ServiceAccount(repoAccount); var repoUser = new MemoryRepoUser(memoryDataSourceUser); var serviceUser = new ServiceUser(repoUser, saveUserToSession, getFromSession); var filterConfig = new FilterConfig(serviceUser); var controllerFactory = new PoorManControllerFactory(serviceUser,serviceAccount); ControllerBuilder.Current.SetControllerFactory(controllerFactory); AreaRegistration.RegisterAllAreas(); filterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
public void SetConfig(FilterConfig config) { if(config==null) { return; } TypeFilter = config.TypeFilter; RarityFilter = config.RarityFilter; NameFilter = config.NameFilter; var asm = typeof(CenterEffect).Assembly; CenterEffectFilter = string.IsNullOrEmpty(config.CenterEffectFilter) ? null : asm.GetType(config.CenterEffectFilter); SkillFilter = string.IsNullOrEmpty(config.SkillFilter) ? null : Type.GetType(config.SkillFilter); FilterOwned = config.FilterOwned; }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); GlobalConfiguration.Configuration.Formatters.Clear(); GlobalConfiguration.Configuration.Formatters.Add(new JsonpMediaTypeFormatter(new JsonMediaTypeFormatter())); //var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings; //json.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; //json.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc; //GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter); }
protected void Application_Start() { var busConfiguration = new BusConfiguration(); busConfiguration.EndpointName("Store.ECommerce"); busConfiguration.PurgeOnStartup(true); busConfiguration.ApplyCommonConfiguration(); Bus = NServiceBus.Bus.Create(busConfiguration).Start(); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); }
public void Configuration(IAppBuilder app) { // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=316888 AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); RouteConfig.RegisterRoutes(RouteTable.Routes); FilterConfig.Configure(GlobalFilters.Filters); app.UseCookieAuthentication(new CookieAuthenticationOptions { ReturnUrlParameter = "returnUrl", AuthenticationType = "ApplicationCookie", CookieName = "MailLogging", LoginPath = new PathString("/Auth/Login") }); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); // Remove data annotations validation provider ModelValidatorProviders.Providers.Remove( ModelValidatorProviders.Providers.OfType<DataAnnotationsModelValidatorProvider>().First()); DependencyInjection(); }
protected void Application_Start() { GlobalConfig.SetRoot(HostingEnvironment.MapPath("~/Configs/")); var environment = ConfigurationManager.AppSettings["Environment"]; if (string.IsNullOrWhiteSpace(environment)) { GlobalConfig.SetEnvironment("Local"); } else { GlobalConfig.SetEnvironment(environment); } AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
/// <summary> /// Read filter rules from the configuration file /// </summary> /// <returns>true on success</returns> public bool Read() { try { string path = GetFilterConfigPath(); using (var stream = File.OpenRead(path)) { var currentCulture = Thread.CurrentThread.CurrentCulture; Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; try { var serializer = new DataContractJsonSerializer(typeof(FilterConfig), Settings); var item = (FilterConfig)serializer.ReadObject(stream); if (Equals(item, null)) { throw new Exception(); } conf = item; foreach (FilterRule rule in conf.Rules) { if (rule.ExePath != null) { rule.ExePath = rule.ExePath.Replace("/", @"\"); } } return(true); } catch (Exception exception) { Debug.WriteLine(exception.ToString()); return(false); } finally { Thread.CurrentThread.CurrentCulture = currentCulture; } } } catch { return(false); } }
private void Application_Start() { MvcHandler.DisableMvcResponseHeader = true; AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); var container = BuildContainer(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new FunnelWebViewEngine()); ControllerBuilder.Current.SetControllerFactory(new FunnelWebControllerFactory(container)); var federatedAuthenticationConfigurator = container.Resolve <IFederatedAuthenticationConfigurator>(); federatedAuthenticationConfigurator.InitiateFederatedAuthentication(); }
public static void ApplicationStart() { try { StructureMapConfig.RegisterStructureMap(); MvcConfig.RegisterMvc(); //EntityFrameworkProfilerConfig.RegisterEntityFrameworkProfiler(); AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); FilterConfig.RegisterFilters(GlobalFilters.Filters); //RazorGeneratorConfig.RegisterRazorGenerator(); EntityFrameworkConfig.RegisterEntityFramework(); AutoMapperConfig.RegisterAutoMapper(); StartupConfig.Configuration(); Configuration(); } catch { // سبب ری استارت برنامه و آغاز مجدد آن با درخواست بعدی میشود HttpRuntime.UnloadAppDomain(); throw; } }
/// <summary> create the used COM components and get the interfaces. </summary> protected override bool GetInterfaces() { GetInterface = true; try { graphBuilder = (IGraphBuilder) new FilterGraph(); _rotEntry = new DsROTEntry((IFilterGraph) graphBuilder); // add preferred video & audio codecs int hr; filterConfig = GetFilterConfiguration(); //Get filterCodecName filterCodec = GetFilterCodec(); if (filterConfig.bAutoDecoderSettings) { AutoRenderingCheck = true; return AutoRendering(this.filterConfig.wmvAudio); } string extension = Path.GetExtension(m_strCurrentFile).ToLowerInvariant(); //Get video/audio Info _mediaInfo = new MediaInfoWrapper(m_strCurrentFile); //Manually add codecs based on file extension if not in auto-settings // switch back to directx fullscreen mode Log.Info("VideoPlayer9: Enabling DX9 exclusive mode"); GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_SWITCH_FULL_WINDOWED, 0, 0, 0, 1, 0, null); GUIWindowManager.SendMessage(msg); // add the VMR9 in the graph // after enabeling exclusive mode, if done first it causes MediPortal to minimize if for example the "Windows key" is pressed while playing a video Vmr9 = new VMR9Util(); if (File.Exists(m_strCurrentFile) && extension != ".dts" && extension != ".mp3" && extension != ".mka" && extension != ".ac3") { Vmr9.AddVMR9(graphBuilder); Vmr9.Enable(false); } else { AudioOnly = true; } if (extension == ".mpls" || extension == ".bdmv") filterConfig.bForceSourceSplitter = false; if (filterConfig.strsplitterfilter == LAV_SPLITTER_FILTER_SOURCE && filterConfig.bForceSourceSplitter) { LoadLAVSplitter(LAV_SPLITTER_FILTER_SOURCE); hr = graphBuilder.AddFilter(_interfaceSourceFilter, LAV_SPLITTER_FILTER_SOURCE); DsError.ThrowExceptionForHR(hr); Log.Debug("VideoPlayer9: Add LAVSplitter Source to graph"); IFileSourceFilter interfaceFile = (IFileSourceFilter)_interfaceSourceFilter; hr = interfaceFile.Load(m_strCurrentFile, null); if (hr != 0) { Error.SetError("Unable to play movie", "Unable build graph for VMR9"); Cleanup(); return false; } } else { _interfaceSourceFilter = filterConfig.bForceSourceSplitter ? DirectShowUtil.AddFilterToGraph(graphBuilder, filterConfig.strsplitterfilter) : null; if (_interfaceSourceFilter == null && !filterConfig.bForceSourceSplitter) { graphBuilder.AddSourceFilter(m_strCurrentFile, null, out _interfaceSourceFilter); } else { try { int result = ((IFileSourceFilter) _interfaceSourceFilter).Load(m_strCurrentFile, null); if (result != 0) { graphBuilder.RemoveFilter(_interfaceSourceFilter); DirectShowUtil.ReleaseComObject(_interfaceSourceFilter); _interfaceSourceFilter = null; graphBuilder.AddSourceFilter(m_strCurrentFile, null, out _interfaceSourceFilter); } } catch (Exception ex) { Log.Error( "VideoPlayer9: Exception loading Source Filter setup in setting in DShow graph , try to load by merit", ex); graphBuilder.RemoveFilter(_interfaceSourceFilter); DirectShowUtil.ReleaseComObject(_interfaceSourceFilter); _interfaceSourceFilter = null; graphBuilder.AddSourceFilter(m_strCurrentFile, null, out _interfaceSourceFilter); } } //Detection of File Source (Async.) as source filter, return true if found IBaseFilter fileSyncbaseFilter = null; DirectShowUtil.FindFilterByClassID(graphBuilder, ClassId.FilesyncSource, out fileSyncbaseFilter); if (fileSyncbaseFilter == null) graphBuilder.FindFilterByName("File Source (Async.)", out fileSyncbaseFilter); if (fileSyncbaseFilter != null && filterConfig.bForceSourceSplitter) { FileSync = true; DirectShowUtil.ReleaseComObject(fileSyncbaseFilter); fileSyncbaseFilter = null; if (filterConfig.strsplitterfilefilter == LAV_SPLITTER_FILTER) { LoadLAVSplitter(LAV_SPLITTER_FILTER); hr = graphBuilder.AddFilter(Splitter, LAV_SPLITTER_FILTER); DsError.ThrowExceptionForHR(hr); Log.Debug("VideoPlayer9: Add LAVSplitter to graph"); if (hr != 0) { Error.SetError("Unable to play movie", "Unable build graph for VMR9"); Cleanup(); return false; } } else { Splitter = DirectShowUtil.AddFilterToGraph(graphBuilder, filterConfig.strsplitterfilefilter); } } } // Add preferred video filters UpdateFilters("Video"); //Add Audio Renderer if (filterConfig.AudioRenderer.Length > 0 && filterCodec._audioRendererFilter == null) { filterCodec._audioRendererFilter = DirectShowUtil.AddAudioRendererToGraph(graphBuilder, filterConfig.AudioRenderer, false); } #region load external audio streams // check if current "File" is a file... it could also be a URL // Directory.Getfiles, ... will other give us an exception if (File.Exists(m_strCurrentFile) && !AudioOnly) { //load audio file (ac3, dts, mka, mp3) only with if the name matches partially with video file. string[] audioFiles = Directory.GetFiles(Path.GetDirectoryName(m_strCurrentFile), Path.GetFileNameWithoutExtension(m_strCurrentFile) + "*.*"); bool audioSwitcherLoaded = false; foreach (string file in audioFiles) { switch (Path.GetExtension(file)) { case ".mp3": case ".dts": case ".mka": case ".ac3": if (!audioSwitcherLoaded) { IBaseFilter switcher = DirectShowUtil.GetFilterByName(graphBuilder, MEDIAPORTAL_AUDIOSWITCHER_FILTER); if (switcher != null) { DirectShowUtil.ReleaseComObject(switcher); switcher = null; } else { _audioSwitcher = DirectShowUtil.AddFilterToGraph(graphBuilder, MEDIAPORTAL_AUDIOSWITCHER_FILTER); } audioSwitcherLoaded = true; } _AudioSourceFilter = DirectShowUtil.AddFilterToGraph(graphBuilder, FILE_SYNC_FILTER); int result = ((IFileSourceFilter) _AudioSourceFilter).Load(file, null); //Force using LAVFilter _AudioExtSplitterFilter = DirectShowUtil.AddFilterToGraph(graphBuilder, LAV_SPLITTER_FILTER); if (result != 0 || _AudioExtSplitterFilter == null) { if (_AudioSourceFilter != null) { graphBuilder.RemoveFilter(_AudioSourceFilter); DirectShowUtil.ReleaseComObject(_AudioSourceFilter); _AudioSourceFilter = null; } if (_AudioExtSplitterFilter != null) { graphBuilder.RemoveFilter(_AudioExtSplitterFilter); DirectShowUtil.ReleaseComObject(_AudioExtSplitterFilter); _AudioExtSplitterFilter = null; } //Trying Add Audio decoder in graph AddFilterToGraphAndRelease(filterConfig.Audio); graphBuilder.RenderFile(file, string.Empty); Log.Debug("VideoPlayerVMR9 : External audio file loaded \"{0}\"", file); AudioExternal = true; break; } //Add Audio decoder in graph _AudioExtFilter = DirectShowUtil.AddFilterToGraph(graphBuilder, filterConfig.Audio); //Connect Filesource with the splitter IPin pinOutAudioExt1 = DsFindPin.ByDirection((IBaseFilter) _AudioSourceFilter, PinDirection.Output, 0); IPin pinInAudioExt2 = DsFindPin.ByDirection((IBaseFilter) _AudioExtSplitterFilter, PinDirection.Input, 0); hr = graphBuilder.Connect(pinOutAudioExt1, pinInAudioExt2); //Connect Splitter with the Audio Decoder IPin pinOutAudioExt3 = DsFindPin.ByDirection((IBaseFilter) _AudioExtSplitterFilter, PinDirection.Output, 0); IPin pinInAudioExt4 = DsFindPin.ByDirection((IBaseFilter) _AudioExtFilter, PinDirection.Input, 0); hr = graphBuilder.Connect(pinOutAudioExt3, pinInAudioExt4); //Render outpin from Audio Decoder DirectShowUtil.RenderUnconnectedOutputPins(graphBuilder, _AudioExtFilter); //Cleanup External Audio (Release) if (_AudioSourceFilter != null) { DirectShowUtil.ReleaseComObject(_AudioSourceFilter); _AudioSourceFilter = null; } if (_AudioExtSplitterFilter != null) { DirectShowUtil.ReleaseComObject(_AudioExtSplitterFilter); _AudioExtSplitterFilter = null; } if (_AudioExtFilter != null) { DirectShowUtil.ReleaseComObject(_AudioExtFilter); _AudioExtFilter = null; } if (pinOutAudioExt1 != null) { DirectShowUtil.ReleaseComObject(pinOutAudioExt1); pinOutAudioExt1 = null; } if (pinInAudioExt2 != null) { DirectShowUtil.ReleaseComObject(pinInAudioExt2); pinInAudioExt2 = null; } if (pinOutAudioExt3 != null) { DirectShowUtil.ReleaseComObject(pinOutAudioExt3); pinOutAudioExt3 = null; } if (pinInAudioExt4 != null) { DirectShowUtil.ReleaseComObject(pinInAudioExt4); pinInAudioExt4 = null; } Log.Debug("VideoPlayerVMR9 : External audio file loaded \"{0}\"", file); AudioExternal = true; break; } } } #endregion // Add preferred audio filters UpdateFilters("Audio"); #region Set High Audio //Set High Resolution Output > 2 channels IBaseFilter baseFilter = null; bool FFDShowLoaded = false; graphBuilder.FindFilterByName("WMAudio Decoder DMO", out baseFilter); if (baseFilter != null && filterConfig.wmvAudio != false) //Also check configuration option enabled { //Set the filter setting to enable more than 2 audio channels const string g_wszWMACHiResOutput = "_HIRESOUTPUT"; object val = true; IPropertyBag propBag = (IPropertyBag) baseFilter; hr = propBag.Write(g_wszWMACHiResOutput, ref val); if (hr != 0) { Log.Info("VideoPlayer9: Unable to turn WMAudio multichannel on. Reason: {0}", hr); } else { Log.Info("VideoPlayer9: WMAudio Decoder now set for > 2 audio channels"); } if (!FFDShowLoaded) { IBaseFilter FFDShowAudio = DirectShowUtil.GetFilterByName(graphBuilder, FFDSHOW_AUDIO_DECODER_FILTER); if (FFDShowAudio != null) { DirectShowUtil.ReleaseComObject(FFDShowAudio); FFDShowAudio = null; } else { _FFDShowAudio = DirectShowUtil.AddFilterToGraph(graphBuilder, FFDSHOW_AUDIO_DECODER_FILTER); } FFDShowLoaded = true; } DirectShowUtil.ReleaseComObject(baseFilter); baseFilter = null; } #endregion if (_interfaceSourceFilter != null) { DirectShowUtil.RenderGraphBuilderOutputPins(graphBuilder, _interfaceSourceFilter); } //Test and remove orphelin Audio Renderer //RemoveAudioR(); //remove InternalScriptRenderer as it takes subtitle pin disableISR(); //disable Closed Captions! disableCC(); DirectShowUtil.RemoveUnusedFiltersFromGraph(graphBuilder); //remove orphelin audio renderer RemoveAudioR(); //EnableClock(); if (Vmr9 == null || !Vmr9.IsVMR9Connected && !AudioOnly) { Log.Error("VideoPlayer9: Failed to render file -> vmr9"); mediaCtrl = null; Cleanup(); return false; } mediaCtrl = (IMediaControl) graphBuilder; mediaEvt = (IMediaEventEx) graphBuilder; mediaSeek = (IMediaSeeking) graphBuilder; mediaPos = (IMediaPosition) graphBuilder; basicAudio = (IBasicAudio) graphBuilder; videoWin = (IVideoWindow) graphBuilder; m_iVideoWidth = Vmr9.VideoWidth; m_iVideoHeight = Vmr9.VideoHeight; Vmr9.SetDeinterlaceMode(); return true; } catch (Exception ex) { Error.SetError("Unable to play movie", "Unable build graph for VMR9"); Log.Error("VideoPlayer9: Exception while creating DShow graph {0} {1}", ex.Message, ex.StackTrace); Cleanup(); return false; } }
protected virtual FilterConfig GetFilterConfiguration() { FilterConfig filterConfig = new FilterConfig(); using (Settings xmlreader = new MPSettings()) { // get pre-defined filter setup filterConfig.bAutoDecoderSettings = xmlreader.GetValueAsBool("movieplayer", "autodecodersettings", false); filterConfig.bForceSourceSplitter = xmlreader.GetValueAsBool("movieplayer", "forcesourcesplitter", false); filterConfig.wmvAudio = xmlreader.GetValueAsBool("movieplayer", "wmvaudio", false); filterConfig.autoloadSubtitles = xmlreader.GetValueAsBool("subtitles", "enabled", false); filterConfig.strsplitterfilter = xmlreader.GetValueAsString("movieplayer", "splitterfilter", ""); filterConfig.strsplitterfilefilter = xmlreader.GetValueAsString("movieplayer", "splitterfilefilter", ""); filterConfig.Video = xmlreader.GetValueAsString("movieplayer", "mpeg2videocodec", ""); filterConfig.Audio = xmlreader.GetValueAsString("movieplayer", "mpeg2audiocodec", ""); filterConfig.AudioAAC = xmlreader.GetValueAsString("movieplayer", "aacaudiocodec", ""); filterConfig.VideoH264 = xmlreader.GetValueAsString("movieplayer", "h264videocodec", ""); filterConfig.VideoVC1 = xmlreader.GetValueAsString("movieplayer", "vc1videocodec", ""); filterConfig.VideoVC1I = xmlreader.GetValueAsString("movieplayer", "vc1ivideocodec", ""); filterConfig.VideoXVID = xmlreader.GetValueAsString("movieplayer", "xvidvideocodec", ""); filterConfig.AudioRenderer = xmlreader.GetValueAsString("movieplayer", "audiorenderer", "Default DirectSound Device"); filterConfig.strextAudioSource = xmlreader.GetValueAsString("movieplayer", "AudioExtSplitterFilter", ""); filterConfig.strextAudioCodec = xmlreader.GetValueAsString("movieplayer", "AudioExtFilter", ""); // get post-processing filter setup int i = 0; while (xmlreader.GetValueAsString("movieplayer", "filter" + i, "undefined") != "undefined") { if (xmlreader.GetValueAsBool("movieplayer", "usefilter" + i, false)) { filterConfig.OtherFilters.Add(xmlreader.GetValueAsString("movieplayer", "filter" + i, "undefined")); } i++; } } return filterConfig; }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); }
private void GenerateDestinationCode(WordLibraryList wordLibraryList, CodeType codeType) { if (wordLibraryList.Count == 0) { return; } if (wordLibraryList[0].CodeType == CodeType.NoCode && codeType == CodeType.UserDefinePhrase) { codeType = CodeType.Pinyin; } IWordCodeGenerater generater = CodeTypeHelper.GetGenerater(codeType); if (generater == null) //未知编码方式,则不进行编码。 { return; } countWord = wordLibraryList.Count; currentStatus = 0; Regex spaceRegex = new Regex("(?=[^a-zA-Z])\\s+"); Regex numberRegex = new Regex("[0-90-9]+"); Regex englishRegex = new Regex("[a-zA-Za-zA-Z]+"); Regex fullWidthRegex = new Regex("[\uff00-\uff5e]+"); // Regex fullWidthRegex = new Regex("[a-zA-Z0-9]+"); // Regex punctuationRegex = new Regex("[-・·&%']"); Regex punctuationRegex = new Regex("[\u0021-\u002f\u003a-\u0040\u005b-\u0060\u007b-\u008f\u00a0-\u00bf\u00d7\u00f7\u2000-\u2bff\u3000-\u303f\u30a0\u30fb\uff01-\uff0f\uff1a-\uff20\uff5b-\uff65]"); foreach (WordLibrary wordLibrary in wordLibraryList) { currentStatus++; processMessage = "生成目标编码:" + currentStatus + "/" + countWord; if (wordLibrary.CodeType == codeType) { continue; } if (wordLibrary.CodeType == CodeType.English) { wordLibrary.SetCode(CodeType.English, wordLibrary.Word.ToLower()); continue; } try { string word_0 = wordLibrary.Word; string word = wordLibrary.Word; if (FilterConfig.FullWidth && fullWidthRegex.IsMatch(word)) { char[] c = word.ToCharArray(); for (int i = 0; i < c.Length; i++) { if (c[i] <= 0xff5e && c[i] >= 0xff00) { c[i] = (char)(c[i] - 65248); } } word = new String(c); } if (FilterConfig.KeepNumber_) { word = numberRegex.Replace(word, ""); } if (FilterConfig.KeepEnglish_) { word = englishRegex.Replace(word, ""); } if (FilterConfig.KeepSpace_) { if (FilterConfig.KeepSpace == false) { word = word.Replace(" ", ""); } else { word = spaceRegex.Replace(word, ""); } } if (FilterConfig.KeepPunctuation_) { word = punctuationRegex.Replace(word, ""); } if (FilterConfig.ChsNumber) { word = TranslateChineseNumber(word); } if ((FilterConfig.KeepEnglish && englishRegex.IsMatch(word)) || (FilterConfig.KeepNumber && numberRegex.IsMatch(word)) || (FilterConfig.KeepPunctuation && punctuationRegex.IsMatch(word))) { StringBuilder input = new StringBuilder(); List <IList <string> > output = new List <IList <string> >(); int clipType = -1; int type = 0; foreach (char c in word) { if (c >= 0x30 && c <= 0x39) { type = 1; } else if (c >= 0x41 && c <= 0x5a) { type = 2; } else if (c >= 0x61 && c <= 0x7a) { type = 2; } else if (FilterConfig.KeepSpace && c == 0x20 && clipType == 2) { type = 2; } else if ("-・&%'".Contains(c)) { type = 3; } else if (punctuationRegex.IsMatch(c.ToString())) { type = 3; } else { type = 0; } if (input.Length < 1) { clipType = type; input.Append(c); } else if (type == clipType) { input.Append(c); } else { if (FilterConfig.KeepEnglish && clipType == 2) { if (FilterConfig.needEnglishTag()) { output.Add(new List <string> { '_' + input.ToString() }); } else { output.Add(new List <string> { input.ToString() }); } } else if ((FilterConfig.KeepNumber && clipType == 1) || (FilterConfig.KeepPunctuation && clipType == 3)) { output.Add(new List <string> { input.ToString() }); } else { wordLibrary.Word = input.ToString(); wordLibrary.CodeType = CodeType.NoCode; generater.GetCodeOfWordLibrary(wordLibrary); output.AddRange(wordLibrary.Codes); } input.Clear(); input.Append(c); clipType = type; } } if (input.Length > 0) { if (FilterConfig.KeepEnglish && clipType == 2) { if (FilterConfig.needEnglishTag()) { output.Add(new List <string> { '_' + input.ToString() }); } else { output.Add(new List <string> { input.ToString() }); } } else if ((FilterConfig.KeepNumber && clipType == 1) || (FilterConfig.KeepPunctuation && clipType == 3)) { output.Add(new List <string> { input.ToString() }); } else { wordLibrary.Word = input.ToString(); wordLibrary.CodeType = CodeType.NoCode; generater.GetCodeOfWordLibrary(wordLibrary); output.AddRange(wordLibrary.Codes); } } wordLibrary.Word = word_0; wordLibrary.Codes = new Code(output); } else { if (word == word_0) { generater.GetCodeOfWordLibrary(wordLibrary); } else { wordLibrary.Word = word; generater.GetCodeOfWordLibrary(wordLibrary); wordLibrary.Word = word_0; } } } catch (Exception ex) { Debug.WriteLine("生成编码失败" + ex.Message); } if (codeType != CodeType.Unknown) { wordLibrary.CodeType = codeType; } } }
protected void btnPreFilters_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { return; } int ch_num = int.Parse(((PictureButton)sender).Name.Substring(5, 1)); int settings_index, plainfilter_index; FilterConfig[] cached_filters = new FilterConfig[3]; for (int i = 0; i < 3; i ++) { if (PROGRAMS[CURRENT_PROGRAM].filters[ch_num - 1][i] != null) { if (PROGRAMS[CURRENT_PROGRAM].filters[ch_num - 1][i] != null) { cached_filters[i] = (FilterConfig) PROGRAMS[CURRENT_PROGRAM].filters[ch_num - 1][i].Clone(); } } } using (FilterForm filterForm = new FilterForm(this, ch_num)) { filterForm.Height = 500; DialogResult showBlock = filterForm.ShowDialog(this); if (showBlock == DialogResult.Cancel) { for (int i = 0; i < 3; i++) { if (cached_filters[i] != null) { settings_index = (40) + ((ch_num - 1) * 45) + (i * 5); plainfilter_index = (300) + ((ch_num - 1) * 27) + (i * 3); PROGRAMS[CURRENT_PROGRAM].filters[ch_num - 1][i] = (FilterConfig) cached_filters[i].Clone(); if(LIVE_MODE) { PROGRAMS[CURRENT_PROGRAM].filters[ch_num - 1][i].QueueChange(this, settings_index, plainfilter_index, ch_num); } } } } else { UpdateTooltips(); } } }
protected void btnPostFilters_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { return; } int ch_num = int.Parse(((PictureButton)sender).Name.Substring(5, 1)); int settings_index, plainfilter_index; FilterConfig[] cached_filters = new FilterConfig[6]; for (int i = 3; i < 9; i++) { if (PROGRAMS[CURRENT_PROGRAM].filters[ch_num - 1][i] != null) { cached_filters[i-3] = (FilterConfig)PROGRAMS[CURRENT_PROGRAM].filters[ch_num - 1][i].Clone(); } } using (FilterForm filterForm = new FilterForm(this, ch_num, true)) { DialogResult showBlock = filterForm.ShowDialog(this); if (showBlock == DialogResult.Cancel) { for (int i = 3; i < 9; i++) { settings_index = (40) + ((ch_num - 1) * 45) + (i * 5); plainfilter_index = (300) + ((ch_num - 1) * 27) + (i * 3); if (cached_filters[i - 3] != null) { PROGRAMS[CURRENT_PROGRAM].filters[ch_num - 1][i] = (FilterConfig) cached_filters[i - 3].Clone(); if (LIVE_MODE) { PROGRAMS[CURRENT_PROGRAM].filters[ch_num - 1][i].QueueChange(this, settings_index, plainfilter_index, ch_num); } } else { if (LIVE_MODE) { // Filter doesn't exist... SO... let's just send a blank one new FilterConfig(FilterType.None, true).QueueChange(this, settings_index, plainfilter_index, ch_num); } } } } else { UpdateTooltips(); } } }